這陣子又把玩了下dedecms,看看這dedecms5.5的功能到底何等強(qiáng)大。于是乎上傳到我的Dreamhost主機(jī)下,用個(gè)臨時(shí)的域名跑了起來。玩著玩著便發(fā)現(xiàn)無法采集,連DEDE發(fā)布文章的下載遠(yuǎn)程圖片和資源都無法使用。怪哉。
遂想起此前似乎見過文章說Dreamhost的主機(jī)禁用了allow_url_fopen,導(dǎo)致無法采集。于是乎在網(wǎng)上找啊找,找到了幾篇文章均是自己編譯php來讓Dreamhost支持采集。于是乎也參照Dreamhost官網(wǎng)的介紹,透過ssh,折騰了大半天終于完成了編譯好自己的php,興高采烈的跑上系統(tǒng)采集一下,依舊失敗告終。上傳個(gè)探針一看,allow_url_fopen確實(shí)是啟用著,怪哉。再繼續(xù)Google之,隨后反復(fù)測試證明,其實(shí)Dreamhost默認(rèn)是啟用了allow_url_fopen的,網(wǎng)上那些介紹的文章基本都是08年或以前的文章,所以想必是Dreamhost自己想通了放開這個(gè)限制吧。
折騰了兩天,偏不信邪,上傳多個(gè)Supesite和php168上去,安裝、采集一氣呵成。你個(gè)乖乖,原來是dede自己采集不了。納悶。上dede官網(wǎng)搜尋一番,也發(fā)現(xiàn)有些網(wǎng)友也是在反應(yīng)在國外Linux主機(jī)下采集不了。于是乎,終于找到了解決方法,就是改個(gè)文件而已。原先發(fā)現(xiàn)解決方法的那篇文章忘記在哪看了,只有本機(jī)的一個(gè)改后的文件而已,在此謝過那位老兄。
出問題的文件在include/dedehttpdown.class.php這個(gè)文件,用本文提供的附件覆蓋上去后,便可以暢快的使用采集功能,在發(fā)表文章時(shí)亦能舒爽的使用“下載遠(yuǎn)程圖片和資源”這個(gè)功能。經(jīng)過比對(duì)這個(gè)文件,發(fā)現(xiàn)修改了兩處地方。
1、注釋掉第280行的代碼,如下:
// fputs($this->m_fp, $headString);
2、找到304行的代碼,替換成如下代碼:
$headString .= "Connection: Close\r\n\r\n"; //fputs($this->m_fp,"Connection: Close\r\n\r\n");
3、找到308行的代碼,替換成如下代碼:
$headString .= "\r\n"; //fputs($this->m_fp,"\r\n");
4、在315行的代碼“//獲取應(yīng)答頭狀態(tài)信息”上面插入如下代碼:
fputs($this->m_fp, $headString);
最后大功告成
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請(qǐng)注明: 解決DEDECMS5.5在Linux主機(jī)系統(tǒng)下無法采集(如國外dreamhost空間)