文章出處

在Windows環境下:有時在其他環境下運行正常的程序在自己的環境上會報錯誤    程序會 報出  Undefined index:   這樣的錯誤
例如有如下的代碼:
                                  Undefined varialbe:

一下是在網上找到的解決辦法:
問題如下:
1.問題出在哪里?
2.應如何修改這段代碼?
3.不改段代碼,如何修改php.ini中的設置使原來在4.3.0中的程序在4.3.1的環境下運行正常?而不出現這個錯誤提示.

解決辦法:

在程序開頭加一句:
error_reporting(E_ALL & ~E_NOTICE); 或error_reporting(E_ALL ^ E_NOTICE);或者修改php.ini   error_reporting = E_ALL & ~E_NOTICE

有關error_reporting()函數:
error_reporting() 設置 PHP 的報錯級別并返回當前級別。
; 錯誤報告是按位的。或者將數字加起來得到想要的錯誤報告等級。
; E_ALL - 所有的錯誤和警告
; E_ERROR - 致命性運行時錯
; E_WARNING - 運行時警告(非致命性錯)
; E_PARSE - 編譯時解析錯誤
; E_NOTICE - 運行時提醒(這些經常是是你的代碼的bug引起的,

;也可能是有意的行為造成的。(如:基于未初始化的變量自動初始化為一個
              ;空字符串的事實而使用一個未初始化的變量)

; E_CORE_ERROR - 發生于PHP啟動時初始化過程中的致命錯誤
; E_CORE_WARNING - 發生于PHP啟動時初始化過程中的警告(非致命性錯)
; E_COMPILE_ERROR - 編譯時致命性錯
; E_COMPILE_WARNING - 編譯時警告(非致命性錯)
; E_USER_ERROR - 用戶產生的出錯消息
; E_USER_WARNING - 用戶產生的警告消息
; E_USER_NOTICE - 用戶產生的提醒消息

使用方法:

error_reporting(0);//禁用錯誤報告
error_reporting(E_ALL ^ E_NOTICE);//顯示除去 E_NOTICE 之外的所有錯誤信息
error_reporting(E_ALL^E_WARNING^E_NOTICE);//顯示除去E_WARNING E_NOTICE 之外的所有錯誤信息
error_reporting(E_ERROR | E_WARNING | E_PARSE);//顯示運行時錯誤,與error_reporting(E_ALL ^ E_NOTICE);效果相同。error_reporting(E_ALL);//顯示所有錯誤

 

轉自網址_______  http://blog.sina.com.cn/s/blog_a345735b0100zy53.html


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()