当php版本为5.6时的提示信息解决方法

ecshop修饰符preg_replace/e不安全的几处改动

Strict standards: Only variables should be passed by reference in D:\wamp64\www\includes\lib_main.php on line 1329

 

主要集中在 upload/includes/cls_template.php 文件中:

  1:line 300 :

  原语句:

  return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source);

  修改为:

  return preg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->select($r[1]); }, $source);

 

  2:line 495:

   原语句:

  $out = "<?php \n" . '$k = ' . preg_replace("/(\'\\$[^,]+)/e" , "stripslashes(trim('\\1','\''));", var_export($t, true)) . ";\n";

  修改为:

  $replacement = preg_replace_callback("/(\'\\$[^,]+)/" ,

                                                function($matcher){

                                return stripslashes(trim($matcher[1],'\''));

                            },

                     var_export($t, true));

                       $out = "<?php \n" . '$k = ' . $replacement . ";\n";

 

  3:line 554: //zuimoban.com  转载不带网址,木JJ

 

   原语句:

   $val = preg_replace("/\[([^\[\]]*)\]/eis", "'.'.str_replace('$','\$','\\1')", $val);

 

    修改为:

    $val = preg_replace_callback("/\[([^\[\]]*)\]/is",

                    function ($matcher) {

                        return '.'.str_replace('$','\$',$matcher[1]);

                    },   

     $val);

 

  4:line 1071:

 

    原语句:

    $replacement = "'{include file='.strtolower('\\1'). '}'";

    $source      = preg_replace($pattern, $replacement, $source);

 

    修改为:

    $source      = preg_replace_callback($pattern,

                    function ($matcher) {

                        return '{include file=' . strtolower($matcher[1]). '}';

                    },

                    $source);

 

5:line 419:

原语句:

$tag_sel = array_shift(explode(' ', $tag));

 

修改为:

$tag_val = explode(' ', $tag);

$tag_sel = array_shift($tag_val);

 

在upload/includes/lib_main.php 文件中

1:line  1329:

原始语句:

$ext = end(explode('.', $tmp));

修改为:

$tmp_val = explode('.', $tmp);

$ext = end($tmp_val);

 

修改完后记得在后台中点击清除缓存进行生效。

转载于:https://www.cnblogs.com/wntd/p/8461571.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值