2009-04-21 113 views

回答

9

您需要同时设置error_reportingdisplay_errors。这些可以在php.ini,Apache(如果您使用PHP作为Apache模块)或运行时设置,但如果您在运行时设置它,那么它不会影响某些类型的错误,例如作为解析错误。

对于便携性 - 也就是说,如果你要设置这个应用程序 - 尝试在一个.htaccess设置它们:

# note: PHP constants such as E_ALL can't be used when setting it in Apache 
php_value error_reporting 2147483647 

php_flag display_errors on 

或者,也可以在httpd.conf中设置这些

的display_errors确保所有报告的错误实际输出到浏览器(在实时服务器上,通常将它们记录到文件中)。 error_reporting指定应记录/显示哪些类型的错误。

对于直播服务器,通常不要公开显示错误(但您可能仍想记录它们)是一个好主意。无论哪种方式,将error_reporting设置为更具包容性的值仍然是一个好主意(2147483647是现在和未来根据PHP文档可能的最具包容性的值),因为忽略错误通常是一个坏主意。

1

找到php.ini文件,向下滚动,而读的意见。有一个启用/禁用错误输出的全局设置。相应地更改它。重新启动你的Apache。

2

首先点击任务面板中的wamp图标。然后点击'PHP'文件夹,然后点击'PHP settings'文件夹。确保“公开PHP”和“显示错误”都被检查。您还可以设置其他错误设置,如“跟踪错误”和“显示启动错误”。

0

打开您的php.ini并搜索选项error_reporting

将其更改为E_ALL & ~E_NOTICE

这将显示所有的错误和警告,但没有通知。

就我个人而言,我总是在我的开发机器上使用E_ALL,因为通常这些通知是潜在的代码问题的标志。

+0

我确实会留下通知。很高兴知道您何时使用未定义的变量,因为它们通常意味着您输入了错字。 – 2009-04-21 07:19:26

1

我一直使用此代码:

ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 

如果您在使用OOP PHP编写代码,然后创建新methond showError()并调用它在每一个文件,你需要的。

0

如果有人在使用CodeIgniter,则在控制器的构造函数中传递此代码。这将解决您的问题。

ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 
相关问题