關於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