关于TS返回 Can't use function return value in write context 问题

在项目开发过程中,出现某一接口文件间歇性出现500错误,间歇性出现说明是有条件才会产生,查看错误日志显示:
Fatal error: Can't use function return value in write context in /home/xxx/xxxxm/api/sxxx/lGoodsApi.class.php on line 82

上网查了下说这是 TP 的一个 bug,提高 php 版本就可以了。考虑到成本太高细细看了看错误发生行的代码如下:

if(empty(S('reception_cat_list'))) {

结合错误日志的说明Can't use function return value in write context ,不能使用返回值***(原谅我的英文水平低下)推断可能是TS 的S方法在emty方法中再加上服务器环境因素(本项目一台是apache,一台是php-fpm仅PHP版本有出入)会出现语法错误的问题。

知道错在哪就好办了,把代码修改成:

$cache_data = S('reception_cat_list');
if(empty($cache_data)) {

运行,问题没有了。看来在TS 中不用empty 和S直接结合使用,会有不兼容问题。

 

 

author:gj

posted @ 2017-11-08 17:06  WidgetBox  阅读(1617)  评论(0编辑  收藏  举报