除了搬遷WordPress網站,偶爾我們也會協助客戶搬遷其他CMS,例如Xoops。在Joomla還未普及之前,其實Xoopa算蠻多用家的。
這次搬遷發生的問題是
一、 打開部份頁面顯示錯誤訊息
Error : RuntimeException: homeDirectory "/home" was not created
二、以上訊息並沒有在原來主機出現
除錯主要困難是:為甚麼程式需要建立 /home 資料夾?解釋到這個,問題會比較好解決。
然後我們在 modules/tadtools/class/Utility.php ,找到建立資料夾的原始碼

原來的原始碼是逐層確認資料夾是否存在,正好解釋為甚麼會嘗試建立 /home ,因為基於安全考量,我們主機有打開 open_basedir ,原來的編寫方式因為權限問題有機會回報 /home 不存在。所以我們重寫了原來的 mk_dir 功能

這樣問題就解決了。理論上新版本的xoops 模組應該已經重寫了以上的功能,只是怕直接升級模組會影響網站運作,所以最後還是自己來比較穩。
以上問題在 Google 甚麼GPT 都沒有很直接的答案,假如剛好有用家從搜尋器找到這篇文章,希望可以幫到你免卡關。
