A-A+

Strict Standards: Only variables should be passed by reference in

2012年10月07日 PHP开源系统 评论 13 条 阅读 7,370 views 次

ecshop出现的错误信息:Strict Standards: Only variables should be passed by reference in D:\wamp\ecshop\includes\cls_template.php on line 406

解决办法 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

标签:

13 条留言  访客:13 条  博主:0 条

  1. ecshop二次开发

    谢谢,用了不错,解决了

  2. 橘梨纱 av+debut

    不要附加太多的东西,有时候更美好。

  3. 外链群发软件

    用不到PHP的说

  4. seo外链工具

    貌似没有定义严格的变量造成的错误吧。

  5. taiyang

    没有对语句进行严格标准造成的错误。

  6. 郑州机械厂

    PHP 版本过高造成的,我的PHP版本是5.4.19,也出现了这个问题,PHP5.3以上默认只能传递具体的变量,而不能通过函数返回值传递,所以只能重新赋值了,也就是上面博主说的情况。

  7. 无负压供水设备

    这跟PHP的配置有关,现在最新版的ecshop中已经没有这个错误了,但如果我们用了老版的PHP可能就会出现这个,直接屏蔽掉错误就行。

    • smiling

      回头研究一下最新版的 Ecshop。

      • 在线影院

        ecshop 只更新补丁了,已经N久没出最新版的了。

  8. DW手表官网

    直接容错语句比较省劲,error_reporting 看来无所不能啊,不管什么错句直接屏蔽,但最好不要严重的错误,否则就完了。

    • smiling

      error_reporting 比较给力,有时候在调试 PHP 的时候,实在找不到错误在哪里就直接 error_reporting 了,当然是在网站正常运行的前提下。

      • 郑州机械厂

        虽然使用 error_reporting 可以屏蔽掉错误,但拿PHP规范来讲的话,最好还是把实际问题解决了好。

  9. Darren中

    话说。。。我搜错误搜到你这来了。。。好家伙

给我留言