ECSHOP在PHP5.5及高版本上报错的解决方法

开发技术 作者: 2024-07-19 05:20:01
介绍《PHP学习:ECSHOP在PHP5.5及高版本上报错的解决方法》开发教程,希望对您有用。

《:ECSHOP在PHP5.5及高版本上报错的解决方法》要点:
本文介绍了:ECSHOP在PHP5.5及高版本上报错的解决方法,希望对您有用。如果有疑问,可以联系我们。

PHP实例Ecshop却没来得及修改,如果在高版本的PHP虚拟主机上安装ecshop程序,出现兼容性问题.

PHP实例小编在本地环境PHP5.5上安装出现以下两种报错提示:

PHP实例Only variables should be passed by reference PHP
Deprecated: preg_replace(): The /e modifier is deprecated,use preg_replace_callback instead…?

PHP实例通过在网络上查找,小编发现并不是只能在低版本的PHP中安装,也是找到了解决办法,方便大家在PHP5.5版本上调试程序.小编就在这里把解决方法分享给大家:

PHP实例先说明第一个问题的解决方法:

PHP实例PHP 5.3以上版本的问题,和配置有关 只要418行把这一句拆成两句就没有问题了.

PHP实例将下列:

PHP实例
$tag_sel = array_shift(explode(' ',$tag));

PHP实例修改为:

PHP实例
$tag_arr = explode(' ',$tag); $tag_sel = array_shift($tag_arr);

PHP实例因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值

PHP实例第二个报错解决办法:

PHP实例找到文件:include/cls_template.PHP

PHP实例将以下代码:

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

PHP实例修改成:

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

PHP实例小编目前只遇到这样两个报错,如果在程序调试和开发过程中遇到其他的问题,如果能够解决,小编也是会整理出解决方法的.

PHP实例ecshop 在高版本PHP下报错的解决方法

PHP实例1 .ecshop提示Strict Standards: Non-static method cls_image

PHP实例
::gd_version() should not be called statically inE:/wwwroot/weirenchou/includes/lib_base.PHP on line 346

PHP实例找到346行吧

PHP实例
return cls_image::gd_version()

PHP实例替换成:

PHP实例
$p = new cls_image();return $p->gd_version();

PHP实例2 .ecshop的时候出现如下错误:

PHP实例
Deprecated: preg_replace(): The /e modifier is deprecated,use preg_replace_callback instead in /ecshop/includes/cls_template.PHP on line 300

PHP实例打开ecshop的目录找到includes/cls_template.PHP 到第300行

PHP实例

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

PHP实例替换成

PHP实例
return preg_replace_callback("/{([^/}/{/n]*)}/",$source);

PHP实例3. Strict Standards: Only variables should be passed by reference in E:/web/shopex/includes/cls_template.PHP on line 422

PHP实例
$tag_sel = array_shift(explode(' ',$tag));

PHP实例改成:

PHP实例
$tag_arr = explode(' ',$tag); $tag_sel = array_shift($tag_arr);

PHP实例4 .会员整合出现

PHP实例
PHPbb::set_cookie() should be compatible with integrate
/includes/modules/integrates/PHPbb.PHP on line 232
110行
function set_cookie ($username="")

PHP实例修改成

PHP实例
function set_cookie ($username="",$remember = NULL)
includes/modules/integrates/PHPwind6.PHP

PHP实例ucenter.PHP  vbb.PHP也是这样修改

PHP实例ucenter.PHP 210行修改成

PHP实例
 function add_user($username,$password,$email,$gender = -1,$bday = 0,$reg_date = 0,$md5password = '')

PHP实例127行修改成

PHP实例
function login($username,$remember = NULL)

PHP实例5. 数据库备份出现

PHP实例
edefining already defined constructor for class cls_sql_dump
/admin/includes/cls_sql_dump.PHP on line 
 function __construct(&$db,$max_size =)
  {
    $this->cls_sql_dump($db,$max_size);
  }

PHP实例移到function cls_sql_dump(&$db,$max_size=0)前面

PHP实例
Non-static method cls_sql_dump::get_random_name() admin/database.PHP on line 64

PHP实例打开includes/cls_sql_dump.PHP

PHP实例 479行

PHP实例
function get_random_name()

PHP实例修改成

PHP实例
static function get_random_name()

《:ECSHOP在PHP5.5及高版本上报错的解决方法》是否对您有启发,欢迎查看更多与《:ECSHOP在PHP5.5及高版本上报错的解决方法》相关教程,学精学透。编程之家 jb51.cc为您提供精彩教程。

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_46907.html