php高版本安裝ecshop錯誤解決方法


1、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

 

找到\lib_base.php 第 346行

 

將它注釋  //return cls_image::gd_version();

添加 

         $p = new cls_image();

         return $p->gd_version(); 即可

 

2、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

 

找到\lib_template.php 第 300行

 

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

添加

 

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

 

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

 

找到\lib_template.php 第 422行

 

將它注釋 //$tag_sel = array_shift(explode(' ', $tag));

添加      

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

          $tag_sel = array_shift($tag_arr); 即可

 

 

4、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

 

找到\lib_template.php 第 1074行

 

將它注釋

 

  //$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/se';

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

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

 

添加

 

 $pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/s';

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

 $source = preg_replace_callback($pattern, $replacement, $source); 即可

 

 

5、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

 

找到\lib_template.php 第 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"; 即可

 

 

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

 

找到\lib_main.php 第 1329行

 

將它注釋

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

添加      

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

$ext = end($ext); 即可

 

7、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

 

找到\lib_template.php 第 556行

 

將它注釋

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

 

添加      

 

$val =preg_replace_callback("/\[([^\[\]]*)\]/is", function(){return '.'.str_replace('$','\$','\\1');}, $val); 即可

 

8、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)

 

9、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();

 

10、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()

    {

    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM