在OSX上显示PHP错误

kknvjkwl  于 2023-04-19  发布在  PHP
关注(0)|答案(6)|浏览(194)

我试图让PHP显示语法等错误,在OSX开发过程中。
我已经编辑了我的php.ini如下;

display_errors = On
error_reporting = E_ALL

然而,我仍然不能显示错误,我只是停留在一个空白页面上,即使是最简单的页面也会出现这种情况;

<?php

echo "ook"

?>

这应该会抛出一个错误。
我将不胜感激,如果有人有任何想法,如何解决这个问题?我肯定编辑了正确的php.ini,因为一个phpinfo文件告诉我。

ve7v8dk2

ve7v8dk21#

我还想声明PHP结束标记(?>)被认为是一个显式的分号(;)。
以下脚本有效:

<?php
echo "Hello";
echo "There"
?>

而以下则不是:

<?php
echo "Hello";
echo "There"
cbwuti44

cbwuti442#

如果脚本的语法无效,你可能会得到一个死亡的白色而不是一个错误。当你测试错误报告时,尝试一个不同的错误,比如除以零。
你的php.ini行应该读作error_reporting = E_ALL,顺便说一下,display_errors应该等于0或1。
编辑:哎呀!更正了事实错误。

u1ehiz5o

u1ehiz5o3#

所以我发现了问题所在。我的phpinfo文件告诉我我正在使用php.ini,所以我当然一直在编辑它。我发现的是,在同一个文件夹中还有一个php.ini.default文件。我已经删除了这个文件,现在显示错误。:)

1bqhqjot

1bqhqjot4#

我遇到了一个非常愚蠢的问题,也许其他人也会遇到。在我的php.ini中,我无意中写道:

error_reporting = E_ALL & E_STRICT

而不是:

error_reporting = E_ALL | E_STRICT

我花了几分钟才找到那个愚蠢的错误。希望我能保存别人的时间;).

mi7gmzs6

mi7gmzs65#

不需要分号(;)对于PHP中的最后一行,它不是一个错误,就像下面的代码由于缺少分号而没有错误:

<?php echo 'test' ?>

或者

<?=$x ?>

或者

<?php 

echo "test code"
?>

或者

<?php 

echo "Test Code"
t8e9dugd

t8e9dugd6#

我遇到了同样的问题,但我找到了解决方案:
有两个php.ini文件给我。
一个在我的home-brew文件夹中,我用以下命令找到:

~ % php --ini

另一个在etc目录下的XAMPP文件夹中。
后者必须在display_errors属性中从Off-〉On进行编辑

相关问题