0333期:使用 simplepie RSS 讀取程式改寫網站首頁
其實之前就想要改變一下主網站www.cgs.tw的呈現方式,原本都是直接轉接後移到我最早開始寫作的部落格程式設計人手札,不過近年來因為我習慣於把不同的文章放在不同的部落格,這樣應該會方便不同的讀者去閱讀,加上每個地方可能的吸引到新讀者或有不同。
最早的想法是利用 RSS 聚集的網站,如果可以匯總成為一個單一個RSS,然後再把 RSS 轉換出來,可能就可以呈現出一個網站的首頁,我試用了一陣子其他的聚集,似乎由於每個部落格的出版頻率不一,這樣的方式,可能一陣子某些網站的文章就會消失不見。
昨天想一想,開始試用 simplepie 這個開放原始碼的 RSS 的解譯程式,雖然原作者已經宣佈停止開發,不過因為 simplepie 這套程式在RSS 相關的幾個程式中的開發時間最長,處理過的相容及內碼問題也比較多,中文的資料讀取會遇到的問題也會比較少。
剛開始安裝的時後,就開始試讀我自己的 Feedburner RSS,有些RSS 網頁可能是因為內含圖片或是文字較長,整個讀完耗時 10 秒上下,有些 RSS 又處理的很快,如果加到數個 RSS,就很容易發生 php 執行逾時,單純的把 timeout 加長,雖然可以解決一小部問題,但是如果這是首頁,總不可能每開一次就要花上很久吧。
查了一下效能的問題,把 set_stupidly_fast 設成 true,整個時間就會減少很多,雖然因此像圖片等不會特別進行處理,不過對於只需要每篇文章標題的首頁來說,應該還是足夠的。
另外對於 mysql 的設定,一開始找不到設定的地方,隨手也查了一下,如果不想用預設的檔案 cache ,而想用 mysql ,就呼叫 set_cache_location('mysql://user:pwd@host:port/dbname'); 系統就會將資料自動存到 mysql 的資料庫中。
之後又用了一小段時間來調整 CSS 的版面,其實還不是盡如人意,對於很少改變畫面的編排的我來說,有時調整 CSS 花的時間,比改寫這些 php 花的時間還久很多。最後的成果就是www.cgs.tw 的新版面吧,有空再來調整細項吧。
最早的想法是利用 RSS 聚集的網站,如果可以匯總成為一個單一個RSS,然後再把 RSS 轉換出來,可能就可以呈現出一個網站的首頁,我試用了一陣子其他的聚集,似乎由於每個部落格的出版頻率不一,這樣的方式,可能一陣子某些網站的文章就會消失不見。
昨天想一想,開始試用 simplepie 這個開放原始碼的 RSS 的解譯程式,雖然原作者已經宣佈停止開發,不過因為 simplepie 這套程式在RSS 相關的幾個程式中的開發時間最長,處理過的相容及內碼問題也比較多,中文的資料讀取會遇到的問題也會比較少。
剛開始安裝的時後,就開始試讀我自己的 Feedburner RSS,有些RSS 網頁可能是因為內含圖片或是文字較長,整個讀完耗時 10 秒上下,有些 RSS 又處理的很快,如果加到數個 RSS,就很容易發生 php 執行逾時,單純的把 timeout 加長,雖然可以解決一小部問題,但是如果這是首頁,總不可能每開一次就要花上很久吧。
查了一下效能的問題,把 set_stupidly_fast 設成 true,整個時間就會減少很多,雖然因此像圖片等不會特別進行處理,不過對於只需要每篇文章標題的首頁來說,應該還是足夠的。
另外對於 mysql 的設定,一開始找不到設定的地方,隨手也查了一下,如果不想用預設的檔案 cache ,而想用 mysql ,就呼叫 set_cache_location('mysql://user:pwd@host:port/dbname'); 系統就會將資料自動存到 mysql 的資料庫中。
之後又用了一小段時間來調整 CSS 的版面,其實還不是盡如人意,對於很少改變畫面的編排的我來說,有時調整 CSS 花的時間,比改寫這些 php 花的時間還久很多。最後的成果就是www.cgs.tw 的新版面吧,有空再來調整細項吧。
















