讓php不顯示錯誤
A. 如何有效的屏蔽掉php警告和錯誤提示
1.沒有許可權修改php.ini:在腳本中寫入以下代碼動態的配置php.ini
ini_set("display_errors","Off");2.如果想一勞永逸每個腳本調試的時候都不想在腳本中配置則在php.ini文件中將
error_reporting(E_ALL^E_NOTICE^E_WARNING);
display_errors=On/*修改成*/display_errors=Off
log_errors=off/*修改成*/log_errors=on
error_log=filename/*修改成*/error_log='錯誤日誌路徑'
此外注意錯誤日誌文件的許可權,www要有寫和執行許可權。
3.但是有時你知道腳本中有個別部分的代碼有可能變數會 不存在 為空 的因素,可以使用樓下的方法 在這些代碼前加上錯誤抑制符@
B. 關閉PHP錯誤腳本提示的詳解
最簡單的辦法就是直接在php程序代碼中加入下面代碼
代碼如下error_reporting(E_ALL^E_NOTICE^E_WARNING);
可以關閉所有notice 和 warning 級別的錯誤
把這個語句放在您腳本的功用包含文件中 通常為config php 或者conn php 中就可以控制輸出了
當然我也也可以在php ini中進行設置了方法如下
打開PHP安裝目錄下的php ini文件
找到display_errors = On 修改為 display_errors = off
注意:如果你已經把PHP ini文件復制到windows目錄下 那麼必須同時把c:windows/php ini里的display_errors = On 修改為display_errors = off
PHP ini中display_errors = Off失效的解決
問題
PHP 設置文件php ini中明明已經設置display_errors = Off 但是在運行過程中 網頁上還是會出現錯誤信息
解決
打開PHP安裝目錄下的php ini文件
找到log_errors = off 修改為 log_errors = on
找到error_log = filename 修改為 error_log="D:PHPerrlogphp_error log" (這里的目錄和文件名D:PHPerrlogphp_error log隨便你取什麼)
注意:如果你已經把PHP ini文件復制到windows目錄下 那麼必須同時把c:windows/php ini文件
此外php_error log至少要有USER的修改和寫許可權 否則無法輸出錯誤日誌
經常見到error_reporting( )直意為 設定錯誤訊息回報的等級
value constant
E_ERROR
E_WARNING
E_PARSE
E_NOTICE
E_CORE_ERROR
E_CORE_WARNING
E_PILE_ERROR
E_PILE_WARNING
E_USER_ERROR
E_USER_WARNING
E_USER_NOTICE
E_ALL
E_STRICT
然而 = + +
代碼如下 <?php //禁用錯誤報告 error_reporting( ); //報告運行時錯誤 error_reporting(E_ERROR | E_WARNING | E_PARSE); //報告所有錯誤 error_reporting(E_ALL); ?> lishixin/Article/program/PHP/201311/21242
C. 怎麼設置php.ini,讓所有錯誤都不提示
使用任一文本編輯器打開php.ini文件
搜索找到display_errors所在的行
如果前面有#號,則刪除#(#為注釋符號,該行#後面的內容都是注釋內容),如果該行前面有#,則該行的設置為注釋內容不會生效,所以要先去除#(例如你找到一行內容為#display_errors = Off,則去掉前面的#即可生效),沒有則忽略此步驟
將display_errors的值改為Off
保存文件
重啟伺服器即可
擴展:
php.ini為php環境的配置文件,通常所有配置都已經寫好,但並沒有開啟,它們會在行首添加#以注釋掉此功能。需要修改的時候,只需要刪除#即可打開功能,不需要自己寫一條新的配置。
更多配置內容可以參看php的官方文檔。
D. PHP沒有錯誤提示
PHP沒有錯誤提示是設置錯誤造成的,解決方法為;
1、確認了PHP的配置文件的路徑之後,在文本編輯器打開該文件。
E. 通過PHP.ini關閉php錯誤信息回顯的方法
php的錯誤回顯為代碼調試提供了諸多方便,可以讓我們快速找到錯誤所在,不過有時候,顯示錯誤信息會使一些敏感信息暴露出來,對程序安全造成負面影響,為此,通過php.ini配置文件,我們可以在不調試程序的時候將其關閉,方法如下:
打開PHP.ini,找到display_errors,將後面的值改為off,同時設置error_reporting為E_ALL。如下所示:
display_errors
=
Off
error_reporting
=
E_ALL
如下也可以:
display_errors
=
Off
error_reporting
=
E_ALL
&
~E_NOTICE
注意:如果設置display_errors
=
Off不起效的話,請將log_errors設置為Off。根據PHP官方資料,當log_errors設置為On時,就必須指定error_log文件,如果未指定或者指定的文件無寫許可權,那麼同樣會使display_errors=Off失效,錯誤信息還是會被顯示出來,所以說,將log_errors
=
Off,問題就徹底解決了。