在php5.3下踩的一个坑

最近在部署一个CMS的项目中遇到了一些问题,有些页面可以访问,有些页面状态码则报:500 internal server error。由于在自己电脑上跑的PHP版本是5.6的,并不会报这个错。因为服务器上关闭了调试模式,查了nginx的错误日志,才发现这个报错。

empty()仅支持变量

在PHP的官方手册上有提示:在 PHP 5.5 之前,empty() 仅支持变量;任何其他东西将会导致一个解析错误。换言之,下列代码不会生效: empty(trim($name))。 作为替代,应该使用trim($name) == false.

如果没没有使用变量,PHP则会报一个致使错误

PHP message: PHP Fatal error: Can’t use function return value in write context in …

在ThinkPHP中,判断I(‘post.’)或I(‘get.’)是否为空,先赋值再判断或如下

1
I('get.param') == false ? '' : 'TODO';

以后在开发的时候还是尽量把开发环境和生产环境统一一下比较好,这样就避免了说“我机器上好好的……”,在部署时也少很多麻烦。