ecshop使用PHP高版本報錯解決辦法

2021-09-25 07:16:44 字數 3650 閱讀 4923

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("//e", "$this->select('\1');", $source);

修改為:

return preg_replace_callback("//", function($r), $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 = "''";

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

修改為:

$pattern = '/.?/s';

$replacement = function($r)';};

$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(), 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(), $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()

function paypal()

Redis公升級高版本報錯解決方法

專案中現有redis公升級,之前版本是2.1.0要公升級到2.6.0,但是公升級後發現系統載入jedispoolconfig報錯。報錯資訊 網上搜了下redis高版本中,構造連線池使用common pool2版本的jar包。看了下專案中apache commons中的連線池jar包,發現還是comm...

Centos安裝php高版本

安裝 1.檢查當前是否有安裝php rpm qa grep php如果有安裝php,那麼請先刪除這些安裝包 yum remove php 2.安裝php源 centos 5 安裝php源 rpm ivhcentos 6 安裝php源 rpm ivhcentos 7 安裝php源和epel擴充套件源 ...

Centos安裝php高版本

安裝 1.檢查當前是否有安裝php rpm qa grep php如果有安裝php,那麼請先刪除這些安裝包 yum remove php 2.安裝php源 centos 5 安裝php源 rpm ivhcentos 6 安裝php源 rpm ivhcentos 7 安裝php源和epel擴充套件源 ...