php没有显示错误

时间:2009-08-07 19:43:05

标签: php linux opensuse

即时通讯在suse11.0上的php工作我的问题是,当我输入错误的语法或查询时,它不会显示错误,只显示此页面中的空白页

谢谢

7 个答案:

答案 0 :(得分:8)

您可以配置error_reportingsee also),并启用错误显示(请参阅display_errorsini_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,以便更好stacktraces发生错误/异常


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

答案 1 :(得分:3)

几乎可以肯定,php.ini中禁用了display_errors

这对产品服务器来说是件好事,并使开发系统基本上无法使用。

对于开发系统,您可能希望将这些行中的一行添加到php.ini文件中:

error_reporting  =  E_ALL & ~E_NOTICE

error_reporting  =  E_ALL

答案 2 :(得分:2)

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

<?php
phpinfo();
?>

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

答案 3 :(得分:0)

确保在php.ini

中打开error_reporting
error_reporting  =  E_ALL | E_STRICT

答案 4 :(得分:0)

在php.ini文件中确保display_errors已启用并将error_reporting设置为E_ALL。

答案 5 :(得分:0)

使用以下命令启动脚本:

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

答案 6 :(得分:0)

虽然其他答案确实回答了您的问题,但我只想指出最好提供您自己的错误检查例程(或代码),以便您的脚本向用户显示令人愉快的错误消息。

之类的东西
$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