PHP的水太深,关于empty的一个问题
本文由 小茗同学 发表于 2017-03-18 浏览(3560)
最后修改 2017-03-18 标签:php empty

问题描述

今天碰到一个很奇怪的问题,测试环境一直出现白屏问题,正常情况下如果哪个地方报错页面上都会有提示的,但是这个没有,还以为是后台哪个环境出了问题。

然后下午把代码提交到预发布的时候也出现了这个问题,甚至把代码全部还原了也还是一样,然后就急了,赶紧找人协助看下,最后在日志里面发现如下错误:

PHP Fatal error: Can't use function return value in write context in xxx.php

解决

百度一下才发现,原来是php的empty方法引起的问题,empty()的括号里面只能是变量,不能是方法,否则解析错误!这还不算,即使放在一个不可能执行的if里面也会报错

<?php if (false): ?>
	结果:<?= empty(some_func($xxx))?'为空':'不为空' ?>
<?php?>

就因为一个empty导致整个页面报错而且没有任何提示,哎,作为被迫接触php的我表示,php这趟浑水太深,我还没踩透!

扩展

php解析错误日志在这里可以看到:/var/log/php-fpm

参考

http://blog.csdn.net/abandonship/article/details/7999093