php不显示错误[关闭]

Posted

技术标签:

【中文标题】php不显示错误[关闭]【英文标题】:php doesnt show error [closed] 【发布时间】:2009-08-07 19:43:05 【问题描述】:

我在 suse11.0 上使用 php,我的问题是当我输入错误的语法或查询时,它不显示错误,仅在这种情况下显示空白页

谢谢

【问题讨论】:

How to get useful error messages in PHP?的可能重复 【参考方案1】:

您可以配置error_reporting (see also),并启用错误显示(请参阅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,以便在出现错误/异常时更好地使用stacktraces

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

【讨论】:

【参考方案2】:

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

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

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

error_reporting  =  E_ALL & ~E_NOTICE

error_reporting  =  E_ALL

【讨论】:

补充一点,你可能会在网络服务器的日志中找到错误(对于 Apache,这通常是 /var/log/httpd/error_log)【参考方案3】:

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

<?php
phpinfo();
?>

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

【讨论】:

【参考方案4】:

确保在 php.ini 中打开 error_reporting

error_reporting  =  E_ALL | E_STRICT

【讨论】:

【参考方案5】:

确保在您的 php.ini 文件中 display_errors 已打开并将 error_reporting 设置为 E_ALL。

【讨论】:

【参考方案6】:

开始你的脚本:

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

【讨论】:

【参考方案7】:

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

$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

【讨论】:

以上是关于php不显示错误[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何显示 PHP 错误?

如何显示 PHP 错误?

如何删除 Jquery PHP 回显错误? [关闭]

验证 php 表单 - 如何在表单上显示错误消息

似乎无法关闭 php 中已弃用的错误

@ 函数调用前的字符