ecshop使用PHP高版本报错解决办法

简介: 第一种Strict Standards: Non-static method cls_image::gd_version() should not be called statically inF:\xampp\htdocs\ceshi\includes\lib_base.

第一种

Strict Standards: Non-static method cls_image::gd_version() should not be called statically in
F:\xampp\htdocs\ceshi\includes\lib_base.php on line 346

解决办法:
按照文件路径,找到 return cls_image::gd_version();
修改为:
$p = new cls_image(); return $p->gd_version();

第二种

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in F:\xampp\htdocs\ceshi\includes\cls_template.php on line 300

解决办法:
按照文件路径,找到 return preg_replace("/{([^}{\n])}/e", "$this->select('\1');", $source);
修改为:
return preg_replace_callback("/{([^}{\n]
)}/", function($r){return $this->select($r[1]);}, $source);

第三种

Strict Standards: Only variables should be passed by reference in F:\xampp\htdocs\ceshi\includes\cls_template.php on line 422

解决办法:
按照文件路径,找到$tag_sel = array_shift(explode(' ', $tag));
修改为:
$tag_arr = explode(' ', $tag);
$tag_sel = array_shift($tag_arr);

第四种

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in F:\xampp\htdocs\ceshi\includes\cls_template.php on line 1074

解决方法
按照文件路径,找到
$pattern = '/.?/se';
$replacement = "'{include file='.strtolower('\1'). '}'";
$source = preg_replace($pattern, $replacement, $source);
修改为:
$pattern = '/.
?/s';
$replacement = function($r){return '{include file='.strtolower($r[1]). '}';};
$source = preg_replace_callback($pattern, $replacement, $source);

第五种

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in F:\xampp\htdocs\ceshi\includes\cls_template.php on line 496

解决方法
按照文件路径,找到
$out = "<?php \n" . '$k = ' . preg_replace("/('\$[^,]+)/e" , "stripslashes(trim('\1','''));", var_export($t, true)) . ";\n";
修改为:
$out = "<?php \n" . '$k = ' . preg_replace_callback("/('\$[^,]+)/", function(){return stripslashes(trim('\1','''));}, var_export($t, true)) . ";\n";

第六种

Strict Standards: Only variables should be passed by reference in F:\xampp\htdocs\ceshi\includes\lib_main.php on line 1329

解决办法
按照文件路径,找到
$ext = end(explode('.', $tmp));
修改为:
$ext = explode('.', $tmp);
$ext = end($ext);

第七种

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in F:\xampp\htdocs\ceshi\includes\cls_template.php on line 556

解决办法
按照文件路径,找到
$val = preg_replace("/[([^[]])]/eis", "'.'.str_replace('$','$','\1')", $val);
修改为:
$val =preg_replace_callback("/[([^[]]
)]/is", function(){return '.'.str_replace('$','$','\1');}, $val);

第八种

Strict Standards: Declaration of vbb::set_cookie() should be compatible with integrate::set_cookie($username = '', $remember = NULL)

解决办法
子类的函数跟父类的同名,必须使子类的函数参数跟父类的对应函数参数个数相同
依据错误提示,修改例如:
function set_cookie ($username="")
改为
function set_cookie ($username="", $remember = NULL)

第九种

Strict Standards: mktime(): You should be using the time() function instead in F:\xampp\htdocs\ceshi\admin\sms_url.php on line 31

解决办法
按照文件路径,找到
$auth = mktime();
修改为
$auth = time();

第十种

Strict Standards: Redefining already defined constructor for class alipay in F:\xampp\htdocs\ceshi\includes\modules\payment\alipay.php on line 85

解决方法
PHP 类,有两种构造函数,一种是跟类同名的函数,一种是__construct()。从PHP5.4开始,对这两个函数出现的顺序做了最严格的定义,必须是 __construct()在前,同名函数在后
例如:

function __construct()
{
    $this->paypal();
}
function paypal()
{
}
相关文章
|
3月前
|
PHP Apache
centos7.9 安装php7.0以上版本
centos7.9 安装php7.0以上版本
69 2
|
2天前
|
安全 编译器 PHP
PHP 8.1版本发布:引领Web开发新潮流
PHP编程语言一直是Web开发的主力军,而最新发布的PHP 8.1版本则为开发者们带来了更多创新和便利。本文将介绍PHP 8.1版本的主要特性,包括更快的性能、新的语言功能和增强的安全性,以及如何利用这些功能来提升Web应用程序的质量和效率。
|
5月前
|
弹性计算 监控 Java
阿里云国际站代理商:如何在阿里云上升级PHP版本?
@luotuoemo飞机@TG 阿里云国际站代理商:如何在阿里云上升级PHP版本?在所选实例右侧的操作栏中,点击“更多”>“实例管理”,进入实例管理页面。在这里,您可以看到实例的详细信息,包括当前的PHP版本、操作系统类型等。
|
7月前
|
自然语言处理 安全 Java
JAVA丨PHP交易所源码,JAVA/PHP交易所系统开发稳定版/多语言/海外版/多版本/成熟技术/方案详细/逻辑功能/规则案例
Identify requirements and design the system: Clarify your business requirements and design the architecture and functionality of the system. This includes determining the supported transaction types, user authentication, transaction matching engines, order management, fund management, etc.
|
9月前
|
前端开发
phpStudy PHP5.6版本ajax出现HTTP_RAW_POST_DATA is deprecated头部错误原因
phpStudy PHP5.6版本ajax出现HTTP_RAW_POST_DATA is deprecated头部错误原因
41 0
|
9月前
|
PHP 计算机视觉
百度人脸识别php版本数组数组简写导致的{"readyState":4,,"status":500,"statusText":"Internal Error"}错误
百度人脸识别php版本数组数组简写导致的{"readyState":4,,"status":500,"statusText":"Internal Error"}错误
47 0
|
算法 PHP
PHP实现微信支付签名算法(MD5版本及HMAC-SHA256版本)
PHP实现微信支付签名算法(MD5版本及HMAC-SHA256版本)
627 0