PHP不显示错误

即时通讯工作在PHP的suse11.0我的问题是,当我input一个错误的语法或查询它不显示错误只有空白页面显示在这个situtaion

谢谢

Solutions Collecting From Web of "PHP不显示错误"

您可以配置error_reporting ( 另请参阅 ),并启用显示错误(请参阅display_errors或ini_set ) – 至少在您的开发机器上

在你的php.ini文件中,你可以使用

 error_reporting = E_ALL | E_STRICT display_errors = On html_errors = On 

或者,在你的PHP代码中:

 error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 'On'); 

你可能还想在你的开发盒上安装Xdebug ,以便在发生错误/异常时获得更好的堆栈跟踪

当然,在您的生产机器上,您可能不想显示错误; 所以必须根据您的环境进行配置;-)

几乎可以肯定的是,在php.ini中display_errors被禁用。

这在产品服务器上是一件好事,并使开发系统基本上不可用。

对于开发系统,您可能需要将以下其中一行添加到您的php.ini文件中:

 error_reporting = E_ALL & ~E_NOTICE 

要么

 error_reporting = E_ALL 

用这个内容创建一个文件,例如test.php:

 <?php phpinfo(); ?> 

在浏览器中执行它并搜索php.ini文件所在的位置。 打开错误报告并在php.ini中显示错误。

确保在php.ini中打开了error_reporting

 error_reporting = E_ALL | E_STRICT 

确保你php.ini文件中的display_errors是打开的,并将error_reporting设置为E_ALL。

开始你的脚本:

 <?php ini_set ('display_errors', 1); error_reporting (E_ALL | E_STRICT); ?> 

虽然其他答案可以回答你的问题,但我只想指出,最好是提供自己的错误检查例程(或代码),以便你的脚本能够向用户显示令人愉快的错误信息。 就像是

 $result=@mysql_query($some_query); if(!$result){ if($debugging==TRUE){ echo($some_query.'<br>'.mysql_error());//shows error in debugging mode } else{ log_error()// error logging function die( 'there was a problem with your request the problem has been logged and we are working on it');//or something like that } } //no error more code