[英]How do I isolate unwanted PHP error messages?
我正在使用 wamp 並且需要知道為什么我會在所有瀏覽器中出現服務器錯誤消息。 (見抓取)。 我在 php.ini 中關閉了錯誤顯示,並且在 httpd.conf 文件中看不到任何顯示這些的地方。 對於如何解決此問題,我將不勝感激。 如果有人需要更多代碼或信息,我很樂意在小提琴中提供。
我正在使用 php5.3.5 和 apache 2.0.53。
謝謝
您確定display_errors
沒有在您的代碼中由某些 function 在運行時設置嗎? ini_set
可用於在運行時設置該值,如此 PHP 文檔示例所示:
<?php
echo ini_get('display_errors');
if (!ini_get('display_errors')) {
ini_set('display_errors', 1);
}
echo ini_get('display_errors');
?>
display_errors
是可變的PHP_INI_ALL
(文檔)。
這意味着它可以在.htaccess
中啟用,或者在使用ini_set()
的運行腳本中啟用。 檢查您的 .htaccess 文件; 請注意,服務器(在默認配置中)也會檢查父目錄中的 .htaccess 文件 - 因此,如果您的站點位於/var/www/example.com/htdocs
中,請檢查此路徑中每個目錄中的.htaccess
文件。
我在 php.ini 中關閉了錯誤顯示
您是否檢查過您更改/檢查的 php.ini 文件是否是 PHP 正在使用的文件? (由 phpinfo() 顯示)
更改 php.ini 文件后是否重新啟動了網絡服務器?
什么搶? 如果上面的 q 不能解決您的問題,請提供錯誤消息的文本。
看起來你正在使用 zend 框架。 如果您不想顯示錯誤消息。 (無論如何關閉錯誤不會修復它們)
選項1.改變應用環境。 編輯您的引導文件(在公共目錄中)找到以下行
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'development'));
跟隨
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
選項 2. 編輯您的 application.ini(在 application/configs 目錄中)文件。 將所有 phpSettings.display_errors=1 更改為 phpSettings.display_errors = 0。
無論如何,我建議使用選項 2。
但請記住關閉錯誤不會修復它們。 如果您發布您的代碼,我們可以提供幫助。
從OP的評論:
在 php 信息文件中,display_errors 顯示為 on。 在 php.ini 文件中,它被禁用:;display_errors = On。 為什么會這樣。 我檢查了多個ini文件,但只能看到1。
如果該選項在php.ini
中被注釋掉,則它沒有被禁用:它意味着“使用默認值”。 IIRC,這里的默認值為On
。 將行display_errors = Off
添加到 php.ini。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.