ecshop在php5.4下報錯的解決方法:1、開啟「cls_template」文件,並修改「$tag_sel=array_shift(explode(' ',$tag));」;2、修改「static 」;3、修改cls_captcha檔。
本教學操作環境:windows7系統、PHP5.4版、Dell G3電腦。
PHP5.4環境下ECSHOP網站報錯問題集錦
執行Ecshop首頁出現報錯:
出現下面這就話:
Strict Standards: Only variables should be passed by reference in D:\**\includes\cls_template.php on line 406 第406行:$tag_sel = array_shift(explode(' ', $tag));
解決方法1 5.3 5.4以上版本的問題,應該也和配置有關只要406行把這一句拆成兩句就沒有問題了
$tag_sel = array_shift(explode(' ', $tag));
改成:
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
(# 改成:
function __construct($folder = '', $width = 145, $height = 20) { $this->captcha($folder, $width, $height); }
(實驗過,絕對可行)因為array_shift的參數是引用傳遞的,5.3以上預設只能傳遞具體的變量,而不能透過函數返回值解決辦法修改完了要記得清理快取。 【建議學習:《
PHP影片教學》】
2、php5.4環境下安裝ECshop出現includes/lib_base.php on line 346的解決方案。
將cls_image.php 中 function gd_version() 改為 static function gd_version() 即可。
3 網站後台驗證碼不顯示PHP Strict Standards: Redefining already defined constructor for class captcha in D:\web\322\includes\cls_captcha.php on line 119##cha/cl .php
找到下面這段程式碼
function captcha($folder = '', $width = 145, $height = 20)
將它移到
rrreee的上方。
以上是ecshop在php5.4下報錯誤怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!