关于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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM