The 控制操作员 http://php.net/manual/en/language.operators.errorcontrol.php用于使所有警告/错误保持沉默,无论后果是什么。我想使用这个疯狂的工具,但我想我有一些奇怪的服务器配置 - 即使我将 @ 添加到函数中,它仍然会抛出警告/错误:
$ php -a
Interactive shell
php > $f = @file('juzio');
PHP Warning: file(juzio): failed to open stream: No such file or directory in php shell code on line 1
PHP Stack trace:
PHP 1. {main}() php shell code:0
PHP 2. file() php shell code:1
我一直在尝试找到一个对此负责的设置,但到目前为止一无所获。有人知道为什么@对我不起作用吗?以防万一,我正在使用 Suhosin-Patch 运行 PHP 5.3.6-13ubuntu3.10。我还安装了 xdebug(以防万一)。
编辑:请不要写error_reporting
。我的问题是关于@
操作员。谢谢。
The scream.enabled
指令在你的php.ini
配置文件将禁用错误抑制运算符的效果(@
):
引用manual http://php.net/manual/en/intro.scream.php:
尖叫扩展提供了禁用沉默错误控制运算符的可能性,因此所有错误都会被报告。此功能由 ini 设置控制。
请参阅以下示例文档 http://php.net/manual/en/scream.examples-simple.php了解它如何影响错误报告。
禁用scream
应该解决这个问题。
更改您的指令php.ini
,像这样:
scream.enabled = 0
如果你想在运行时禁用它,那么你可以使用ini_set
如手册中所述:
ini_set('scream.enabled', false);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)