不要收到某些PHP错误消息

时间:2011-01-22 01:34:08

标签: php

我在本地运行Apache / PHP,在许多情况下都会收到错误,比如未初始化的变量 - 但我注意到一些我没有收到错误消息的情况,我想知道这是不是正常或如果我错过任何事情,

<?php

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

$1a = "Hello world!";
echo $1a;

?>

也没有产生错误:

<?php

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

function a()
{
 $b = 5;
 echo $b;
}}

a();

?>

此脚本是否会为您生成PHP 错误?如果是这样,我想知道为什么我没有收到。这不是我可能犯的错误,但在其他时候我收到了如上所述的空白页面,我希望得到某种反馈。

2 个答案:

答案 0 :(得分:3)

您对ini_set的调用永远不会被执行,因为错误发生在解析阶段(即在执行任何操作之前)。您需要先在.htaccess,httpd.conf或php.ini中设置这些配置值。

答案 1 :(得分:2)

打开php.ini,为display_errors打开CTRL-F - 是否设置为开?当我安装php时,我使用ini_set();尝试查看错误并且它不起作用,但编辑php.ini文件有效。

编辑:我查看了您发布的页面上的phpinfo()输出,并将其设置为关闭。如果可以的话,打开它。如果我没记错的话,你必须在编辑后重新启动apache。

Edit2:在php.ini文件中,error_reporting应设置为E_ALL & ~E_NOTICE(默认),E_ALL | E_STRICT(开发)或E_ALL & ~E_DEPRECATED(生产) 。老实说,这对我来说都是胡言乱语 - 但如果它有帮助,我的设置为E_ALL & ~E_DEPRECATED,我收到了你的代码中的错误。