PHP提示Notice: Undefined variable的解決辦法_php技巧

來源:互聯網
上載者:User

PHP預設配置會報這個錯誤,我的PHP版本是5.2.13,存在這個問題:
Notice: Undefined variable
這就是將警告在頁面上列印出來,雖然這是有利於暴露問題,但實現使用中會存在很多問題。

需要設定顯示錯誤層級,來解決問題。
網路上的通用解決辦法是修改php.ini的配置:

解決方案:

1) error_reporting設定:

找到error_reporting = E_ALL
修改為error_reporting = E_ALL & ~E_NOTICE

2) register_globals設定:

找到register_globals = Off
修改為register_globals = On

我發現在php代碼中直接使用

error_reporting(E_ALL & ~E_NOTICE);

可以解決這個問題,小技巧記一下,呵呵。

以下是補充:

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

........

其實以上就是未定義變數,我們就直接判斷變數的代碼導致。

本來php是不需要定義變數的,但是出現這種情況應該怎麼辦呢?

只要在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

如果什麼錯誤都不想讓顯示,直接修改:

display_errors = Off

如果你沒有php.ini的修改許可權,可在php頭部加入

ini_set("error_reporting","E_ALL & ~E_NOTICE");

即可


我們知道在 php 中,變數通常是不需要定義直接使用的,但有的時候因為 php 環境的問題會出現各種各樣奇奇怪怪的事情,今天在偵錯工具的時候直接提示 Notice: Undefined variable 的錯誤,這是因為有的變數沒有定義造成的,也是暈了,好吧,這種問題直接一句屏蔽誤句就搞定了。

直接在程式的最頂端插入一句 error_reporting(0); 相信就不會再暴露這樣的問題了,也不耽誤程式的運行,當然這個只是應急的方法,我們還是要好好檢查程式哪裡出現的問題,然後對症下藥,對於直接屏蔽問題夏日部落格再總結幾種方法吧。

php.ini 設定檔中的修改

在php.ini中的302行 error_reporting = E_ALL 修改成 error_reporting = E_ALL & ~E_NOTICE再重啟apache2.2就行了,如果什麼錯誤都不想讓顯示,直接修改:display_errors = Off

php檔案中的修改

如果你沒有php.ini的修改許可權,可在php頭部加入 ini_set("error_reporting","E_ALL & ~E_NOTICE"); 或者 error_reporting(0);//xiariboke.com 即可。

一般情況下直接建議在 php 檔案中進行添加,這種方法簡單,不用去修改服務端的 php.ini 了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.