Ecshop是個坑爹貨,為什么tiandi會說它是個坑爹貨呢,請看一下下面的官方的運行環境推薦:
服務器端運行環境推薦
·php版本5.0以上5.3以下的版本(推薦使用5.2系列版本)
·Mysql版本5.0及以上
·空間安裝zend
·空間支持文件鎖功能
·開啟GD功能
·Mysql函數支持mbstring、iconv、fsockopen
看見了吧,PHP5.3以下的版本,還推薦使用5.2的,尼妹的,現在哪個虛擬機還敢用5.3以下的版本?還在用5.3以下的版本?看看tiandi用的2兩個主機,衡天的和wopus的都是5.3.28,至于為什么不用5.3以下的版本,自己google”php內存泄露”。
Ecshop上個月剛更新了最新版本,寫代碼的思路依舊堅挺,仍舊使用5.2版本,好吧,為了做一些測試,需要在本機上進行調試,但本機上裝了wp3.9,忘了從哪個版本開始wp只支持5.3以上的php,所以本機的PHP環境是5.4.13。起先,做了兩個批處理來切換php5.2.1和php5.4.13,然后發覺一直用批處理切換也累啊,索性直接5.4.13上跑ecshop看看哪里有問題就改哪里吧,結果泥煤的首頁直接來個錯誤。
Strict Standards: Only variables should be passed by reference in D:\tiandiyoyo\hengtian\ecshop\upload\includes\cls_template.php on line 424
不淡定了,打開cls_template.php,定位到424行,發現下面內容:
代碼如下 | 復制代碼 |
$tag_sel = array_shift(explode(' ', $tag)); |
將其注釋掉,分別拆開,添加兩行
代碼如下 | 復制代碼 |
$tag_tmp = (explode(' ', $tag)); |
原因在于PHP5.3版本開始,array_shift不支持函數返回,記得之前博客里好像還有個帖子專門說了php5.3版本的改變,剛搜索沒找到。
新聞熱點
疑難解答