php的错误控制运算符


PHP中提供了一个错误控制运算符“@”。

可以将@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉;

如果开启了php.ini 中的 track_error,表达式所产生的任何错误信息都被存放在变量$php_errormsg中,此变量在每次出错时都会被覆盖,所以如果想用它的话必须尽早检查。

示例(打开一个不存在的文件):

$handle = @fopen('/123.txt','r');
echo "出错了,错误原因是:".$php_errormsg;

如果php.ini的track_errors = On 输出结果为:
出错了,错误原因是:fopen(/123.txt): failed to open stream: No such file or directory

如果php.ini的track_errors = Off 输出结果为:
Notice: Undefined variable: php_errormsg in C:\wamp64\www\123.php on line 10
出错了,错误原因是: