打開PHP提示“Parse error: syntax error, unexpected end of file in”(PHP提示“Notice:Undefined index:submit in”)
[重要通告]如您遇疑難雜癥,本站支持知識付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
前段時(shí)間做了一個(gè)注冊機(jī),一直沒注意在PHP7.4中運(yùn)行的問題,感覺7.2或者5.6均可運(yùn)行,就沒注意,這幾天測試,發(fā)現(xiàn)在PHP7.4中竟然出錯(cuò),提示“Parse error: syntax error, unexpected end of file in” 如下圖
我感覺我的語法并沒啥錯(cuò)誤,感覺自我良好,如果發(fā)現(xiàn)php的語法本身沒有什么錯(cuò)誤,就有可能是使用了短標(biāo)簽,例如:
<? }?>
Parse error: syntax error, unexpected end of file in解決方案:
既然上面說了短標(biāo)簽的問題,可以在php.ini中設(shè)置short_open_tag = On
科普一下short_open_tag 是什么?
決定是否允許使用代碼開始標(biāo)志的縮寫形式(<? ?> )。 如要和 XML 結(jié)合使用 PHP,可以禁用此選項(xiàng)以便于嵌入使用<?xml ?> ; 否則還可以通過php來輸出,例如:<?php echo '<?xml version="1.0"'; ?> ; 如禁用了,必須使用 PHP 代碼開始標(biāo)志的完整形式(<?php ?> )。
注意:本指令也會影響到縮寫形式 <?= ,它和 <? echo 等價(jià)。使用此縮寫需要short_open_tag 的值為 On。
PHP出現(xiàn)Notice:Undefined index:submit in問題
上面處理完成以后,打開的時(shí)候依然會提示一段錯(cuò)誤 Notice: Undefined index: submit in? 如下圖
解決方式是將 display_errors = Off 改為display_errors = On? 如下圖
解決辦法也可以如下:
在程序開頭加一句:
error_reporting(E_ALL & ~E_NOTICE); 或error_reporting(E_ALL ^ E_NOTICE);
或者? 修改php.ini
error_reporting = E_ALL & ~E_NOTICE
延伸閱讀有關(guān)error_reporting()函數(shù):
error_reporting() 設(shè)置 PHP 的報(bào)錯(cuò)級別并返回當(dāng)前級別。
; 錯(cuò)誤報(bào)告是按位的。或者將數(shù)字加起來得到想要的錯(cuò)誤報(bào)告等級。
; E_ALL - 所有的錯(cuò)誤和警告
; E_ERROR - 致命性運(yùn)行時(shí)錯(cuò)
; E_WARNING - 運(yùn)行時(shí)警告(非致命性錯(cuò))
; E_PARSE - 編譯時(shí)解析錯(cuò)誤
; E_NOTICE - 運(yùn)行時(shí)提醒(這些經(jīng)常是是你的代碼的bug引起的,
;也可能是有意的行為造成的。(如:基于未初始化的變量自動初始化為一個(gè)
;空字符串的事實(shí)而使用一個(gè)未初始化的變量)
; E_CORE_ERROR - 發(fā)生于PHP啟動時(shí)初始化過程中的致命錯(cuò)誤
; E_CORE_WARNING - 發(fā)生于PHP啟動時(shí)初始化過程中的警告(非致命性錯(cuò))
; E_COMPILE_ERROR - 編譯時(shí)致命性錯(cuò)
; E_COMPILE_WARNING - 編譯時(shí)警告(非致命性錯(cuò))
; E_USER_ERROR - 用戶產(chǎn)生的出錯(cuò)消息
; E_USER_WARNING - 用戶產(chǎn)生的警告消息
; E_USER_NOTICE - 用戶產(chǎn)生的提醒消息
使用方法:
error_reporting(0);//禁用錯(cuò)誤報(bào)告
error_reporting(E_ALL ^ E_NOTICE);//顯示除去 E_NOTICE 之外的所有錯(cuò)誤信息
error_reporting(E_ALL^E_WARNING^E_NOTICE);//顯示除去E_WARNING E_NOTICE 之外的所有錯(cuò)誤信息
error_reporting(E_ERROR | E_WARNING | E_PARSE);//顯示運(yùn)行時(shí)錯(cuò)誤,與error_reporting(E_ALL ^ E_NOTICE);效果相同。error_reporting(E_ALL);//顯示所有錯(cuò)誤
問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!