在osx上显示php错误
我试图让PHP在OSX开发期间显示语法错误等 我对我的php.ini进行了如下编辑:在osx上显示php错误,php,macos,Php,Macos,我试图让PHP在OSX开发期间显示语法错误等 我对我的php.ini进行了如下编辑: display_errors = On error_reporting = E_ALL 但是,我仍然无法显示错误。我只是被一张白纸卡住了。即使是最简单的页面也会发生这种情况 <?php echo "ook" ?> 这将抛出一个错误 如果有人对如何解决这个问题有任何想法,我将不胜感激?我确实编辑了正确的php.ini,因为一个phpinfo文件告诉我这一点。如果脚本的语法无效,您可能会得到
display_errors = On
error_reporting = E_ALL
但是,我仍然无法显示错误。我只是被一张白纸卡住了。即使是最简单的页面也会发生这种情况
<?php
echo "ook"
?>
这将抛出一个错误
如果有人对如何解决这个问题有任何想法,我将不胜感激?我确实编辑了正确的
php.ini
,因为一个phpinfo
文件告诉我这一点。如果脚本的语法无效,您可能会得到一个白色的死亡屏幕,而不是一个错误。在测试错误报告时,请尝试其他错误,如除以零
顺便说一下,您的php.ini行应该是error\u reporting=E\u ALL
<代码>显示错误应等于0或1
编辑:哎呀!已更正事实错误。我还想声明,PHP结束标记(
?>
)被视为显式分号(;
)
以下脚本有效:
<?php
echo "Hello";
echo "There"
?>
但以下情况并非如此:
<?php
echo "Hello";
echo "There"
所以我找到了问题所在。我的phpinfo文件告诉我我正在使用php.ini,所以我当然一直在编辑它。我发现在同一个文件夹中还有一个php.ini.default文件。我已删除此文件,现在显示错误。:) 我遇到了一个很愚蠢的问题,也许其他人也会遇到。在我的php.ini中,我意外地写道:
error_reporting = E_ALL & E_STRICT
而不是:
error_reporting = E_ALL | E_STRICT
正在筛选所有错误消息。我花了几分钟才发现那个愚蠢的错误。希望我能节省别人的时间;) PHP中的最后一行不需要分号(;),这不是一个错误,就像以下代码由于缺少分号而没有错误一样:
<?php echo 'test' ?>
或
或
或
这不会引发错误。这不应该告诉我分号丢失了吗?复制并粘贴第一个没有分号的回音下面的回音。您的PHP或Apache安装可能有问题。只需尝试一个通用的MAMP包()。应该行的,谢谢Richard。看来我不得不这么做了。我试图避免安装任何附加的PHP/Apache.display\u错误应该是开或关,根据PHP可能的值实际上,从PHP5.2.4开始,值可以是关(0
),开(1
),或者stderr
)。所以,如果我在页面中输入了第二段代码,我应该看到一个错误吗?因为我刚刚得到一张空白页(@Neil:第二段代码应该显示一个错误。您是在修改php.ini
文件后重新启动Apache的吗?您是安装了php和Apache还是使用默认的osx?很遗憾,它只是显示了一个空白屏幕。非常混乱。@Neil:您记得在修改php.ini
后重新启动Apache吗?
<?=$x ?>
<?php
echo "test code"
?>
<?php
echo "Test Code"