3

控制操作员用于使所有警告/错误静音,无论后果如何。我想使用这个疯狂的工具,但我想我有一些奇怪的服务器配置 - 即使我将 @ 添加到函数中,它仍然会引发警告/错误:

$ 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. 我的问题是关于@运营商的。谢谢。

4

1 回答 1

4

配置文件中的scream.enabled指令php.ini将禁用错误抑制运算符 ( @) 的效果:

引用手册

尖叫扩展提供了禁用静音错误控制运算符的可能性,以便报告所有错误。此功能由 ini 设置控制。

请参阅文档中的示例以了解它如何影响错误报告。

禁用scream应该可以解决问题。

更改您的指令php.ini,如下所示:

scream.enabled = 0

如果您想在运行时禁用它,那么您可以ini_set按照手册中的说明使用:

ini_set('scream.enabled', false);
于 2013-10-12T21:51:55.707 回答