服務(wù)項(xiàng)目:網(wǎng)站建設(shè)、仿站、程序開(kāi)發(fā)、APP開(kāi)發(fā)設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)設(shè)計(jì)、企業(yè)網(wǎng)站設(shè)計(jì)、電子商務(wù)網(wǎng)站開(kāi)發(fā)、網(wǎng)站維護(hù)、網(wǎng)站推廣、UX/UI 、HTML5、CSS3、JS / Jquery ...
四川???萍加邢薰?></a></div>
                    <div   id=四川???萍加邢薰? title=
四川???萍加邢薰?(開(kāi)發(fā)設(shè)計(jì)官網(wǎng))TEL : 15308000360 / QQ : 38585404

您的位置:首頁(yè) > 技術(shù)經(jīng)驗(yàn) > 編程開(kāi)發(fā) > 正文

PHP提示Notice: Undefined variable的解決辦法
技術(shù)支持服務(wù)電話:15308000360 【7x24提供運(yùn)維服務(wù),解決各類(lèi)系統(tǒng)/軟硬件疑難技術(shù)問(wèn)題】

今天在調(diào)試程序的時(shí)候,很多網(wǎng)上提供的源碼都會(huì)出現(xiàn) Undefined variable錯(cuò)誤,一般情況下php是不需要定義變量的,但如果服務(wù)器什么都報(bào)錯(cuò)的,就會(huì)出現(xiàn)錯(cuò)誤,所以服務(wù)器上都是應(yīng)該屏蔽這種錯(cuò)誤的

PHP默認(rèn)配置會(huì)報(bào)這個(gè)錯(cuò)誤,我的PHP版本是5.2.13,存在這個(gè)問(wèn)題:
Notice: Undefined variable

這就是將警告在頁(yè)面上打印出來(lái),雖然這是有利于暴露問(wèn)題,但實(shí)現(xiàn)使用中會(huì)存在很多問(wèn)題。
需要設(shè)置顯示錯(cuò)誤級(jí)別,來(lái)解決問(wèn)題。
網(wǎng)絡(luò)上的通用解決辦法是修改php.ini的配置:
  
解決方法:
  
1) error_reporting設(shè)置:
找到error_reporting = E_ALL
修改為error_reporting = E_ALL & ~E_NOTICE
  
2) register_globals設(shè)置:
找到register_globals = Off
修改為register_globals = On
  
我發(fā)現(xiàn)在php代碼中直接使用
error_reporting(E_ALL & ~E_NOTICE);
可以解決這個(gè)問(wèn)題,小技巧記一下,呵呵。

以下是補(bǔ)充:

Notice: Undefined variable: email in D:\PHP5\ENOTE\ADDNOTE.PHP on line 9

  Notice: Undefined variable: subject in D:\PHP5\ENOTE\ADDNOTE.PHP on line 9

  Notice: Undefined variable: comment in D:\PHP5\ENOTE\ADDNOTE.PHP on line 9

  ........

其實(shí)以上就是未定義變量,我們就直接判斷變量的代碼導(dǎo)致。
本來(lái)php是不需要定義變量的,但是出現(xiàn)這種情況應(yīng)該怎么辦呢?
只要在C:\WINDOWS找出php.ini的
在php.ini中的302行 error_reporting = E_ALL
修改成
error_reporting = E_ALL & ~E_NOTICE再重啟apache2.2就行了

解決方法:修改php.ini
將: error_reporting = E_ALL
修改為:error_reporting = E_ALL & ~E_NOTICE

如果什么錯(cuò)誤都不想讓顯示,直接修改:
display_errors = Off
如果你沒(méi)有php.ini的修改權(quán)限,可在php頭部加入
ini_set("error_reporting","E_ALL & ~E_NOTICE");
即可 



上一篇:PHP和Mysql數(shù)據(jù)庫(kù)的UTF8編碼問(wèn)題
下一篇:最后一頁(yè)

相關(guān)熱詞搜索:PHP