问题:
Strict Standards: Only variables should be passed by reference in C:\MyWeb\lib\cls_template.php on line 406
第406行:$tag_sel = array_shift(explode(' ', $tag));
解决办法1:
5.3以上版本的问题,应该也和配置有关 只要406行把这一句拆成两句就没有问题了
$tag_sel = array_shift(explode(' ', $tag));
改成:
$tag_arr = explode(' ', $tag);
$tag_sel = array_shift($tag_arr);
因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
解决办法 2 :
修改配置: error_reporting = E_ALL | E_STRICT
If you have access to php.ini check if error_reporting option includes E_STRICT error level. If so, remove it. If you don't have access to php.ini add error_reporting(error_reporting() & ~E_STRICT); in your application code (ex. main PHP entry file).
本文详细介绍了如何解决PHP代码中出现的Strict Standards错误,包括两种解决方法:修改代码结构和调整错误报告配置。通过将代码中的特定操作拆分为两步以及修改php.ini文件中的error_reporting选项,可以有效避免此类警告提示。
672

被折叠的 条评论
为什么被折叠?



