不接收某些PHP错误消息
我在本地运行Apache/PHP,在很多情况下都会收到错误,比如未初始化的变量-但我注意到有一些情况下我没有收到错误消息,我想知道这是否正常,或者我是否遗漏了什么不接收某些PHP错误消息,php,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')
<?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错误?如果是这样,我想知道为什么我没有收到。这不是我可能会犯的错误,但也有一些时候,我会收到上面这样的空白页面,我希望得到一些反馈。打开
php.ini
,然后按CTRL-F for-是否设置为on?当我安装php时,我使用了ini_set()
尝试查看错误,但它不起作用,但编辑php.ini
文件起作用
编辑:我在你发布的页面上查看了你的phpinfo()
输出,它被设置为off。如果可以的话,把它打开。如果我没记错的话,您必须在编辑apache之后重新启动它
Edit2:在
php.ini
文件中,应设置为eall&~eau NOTICE
(默认)、eall | eau STRICT
(开发)或eall&~eau DEPRECATED
(生产)。老实说,这对我来说都是胡说八道——但如果有帮助的话,我的设置是E_all&~E_DEPRECATED
,我从你的代码中收到了错误。你对ini_set
的调用永远不会执行,因为错误发生在解析阶段(即,在执行任何操作之前)。您需要先在.htaccess、httpd.conf或php.ini中设置这些配置值。是否已使用phpinfo()
检查这些ini\u set调用是否确实成功。如果有,则“本地设置”将显示1/e_all。但是,除此之外,是的,您应该从该代码片段中获得通常的“意外T_LNUMBER”错误。这就解释了它。在我的php.ini中,我将“display errors”设置为“Off”,并删除了“error_reporting”,这样我就可以模拟许多远程主机的设置,这些主机不会显示错误。现在我将在.htaccess中设置它,而不是在开发任何东西时在PHP脚本的开头设置它。是的,这很有效,但由于另一个解释了PHPs行为的现象,我给出了答案。