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