我在本地运行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 错误?如果是这样,我想知道为什么我没有收到。这不是我可能犯的错误,但在其他时候我收到了如上所述的空白页面,我希望得到某种反馈。
答案 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
,我收到了你的代码中的错误。