it_*_*ure 4 php error-handling
这是我在/var/www/read.php中的简单代码文件:
error_reporting(E_ALL);
<?php
echo hello"
?>
Run Code Online (Sandbox Code Playgroud)
我跑过错误报告何时在debian控制台上运行`php /var/www/read.php'.
PHP Parse error: syntax error, unexpected '"', expecting ',' or ';' in /var/www/read.php on line 3
Run Code Online (Sandbox Code Playgroud)
但是127.0.0.1/read.php在firefox中输入时,网页中没有错误报告.
我在php.ini中设置了如下值:
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
Run Code Online (Sandbox Code Playgroud)
用命令重新启动apache2对我没用
service apache2 restart
Run Code Online (Sandbox Code Playgroud)
这是我的phpinfo消息.在我的read.php文件中添加两行是没有用的,我的firefox中没有报告错误消息.我可以修复它吗?我的系统是debian7 + php.
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
echo hello"
?>
find / -name 'php.ini'
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
Run Code Online (Sandbox Code Playgroud)
根据PHP解决的问题 没有显示任何类型的错误

首先,error_reporting()应该在<?php ?>标签内移动该功能.
典型设置中通常有两个php.ini文件(一个由Web服务器使用,另一个由命令行使用).
在unix发行版中,它通常位于/etc/php文件夹下方的某个位置,例如/etc/php/apache2/php.ini.
要确定Web服务器为PHP加载了哪个配置文件,请phpinfo();在网页中执行简单操作,然后搜索configuration file.
如果修改了websever使用的那个,请确保之后重新启动Apache,以便加载新配置.
如果要强制执行以编程方式设置,可以使用该ini_set功能.
在您的情况下,如果您想在页面上看到任何错误.
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
foobar();
Run Code Online (Sandbox Code Playgroud)
更新:
ini_set('display_errors', 1); 如果页面中存在语法错误,则添加将不会执行任何操作,因为在执行脚本之前会抛出语法错误.尝试创建另一种类型的错误,例如调用未知函数,你应该看到它.
| 归档时间: |
|
| 查看次数: |
3913 次 |
| 最近记录: |