首頁  >  文章  >  CMS教程  >  DEDECMS5.5在國外Linux主機下無法採集怎麼辦

DEDECMS5.5在國外Linux主機下無法採集怎麼辦

藏色散人
藏色散人原創
2019-12-24 10:03:381518瀏覽

DEDECMS5.5在國外Linux主機下無法採集怎麼辦

DEDECMS5.5在國外Linux主機下無法擷取怎麼辦?

這陣子又把玩了下dedecms,看看這dedecms5.5的功能到底何等強大。於是乎上傳到我的Dreamhost主機下,用個臨時的網域跑了起來。玩著玩著便發現無法採集,連DEDE發布文章的下載遠端圖片和資源都無法使用。怪哉。

  

建議學習:織夢cms

遂想起先前似乎看過文章說Dreamhost的主機停用了allow_url_fopen,導致無法擷取。於是乎在網路上找啊找,找到了幾篇文章都是自己編譯php讓Dreamhost支援採集。於是乎也參考Dreamhost官網的介紹,透過ssh,折騰了大半天終於完成了編譯好自己的php,興高采烈的跑上系統採集一下,依舊失敗告終。上傳個探針一看,allow_url_fopen確實是啟用著,怪哉。再繼續Google之,隨後反覆測試證明,其實Dreamhost預設是啟用了allow_url_fopen的,網路上那些介紹的文章基本上都是08年或以前的文章,所以想必是Dreamhost自己想通了放開這個限製吧。 

折騰了兩天,偏不信邪,上傳多個Supesite和php168上去,安裝、採集一氣呵成。你個乖乖,原來是dede自己採集不了。納悶。上dede官網搜尋一番,也發現有些網友也是在反應在國外Linux主機下採集不了。於是乎,終於找到了解決方法,就是改個文件而已。原先發現解決方法的文章忘記在哪裡看了,只有本機的一個改後的文件而已,在此謝過那位老兄。

出問題的文件在include/dedehttpdown.class.php這個文件,用本文提供的附件覆蓋上去後,便可以暢快的使用採集功能,在發表文章時亦能舒爽的使用“下載遠端圖片和資源」這個功能。經過比對這個文件,發現修改了兩處地方。

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行的程式碼“ //取得應答頭狀態資訊」上面插入如下程式碼: 

程式碼如下:

fputs($this->m_fp, $headString);

以上是DEDECMS5.5在國外Linux主機下無法採集怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn