我今天被問了個問題,算是搬家的一點問題,是凡經搬家之路都會遇到的問題,我也是架了好幾次站以後才習慣這些設定。我還記得第一次遇到問題的想法是「為什麼會這樣,WordPress不會自行設定喔?還是我搞砸了?只好Google了...」。
嗯,是一些關於記憶體、資料夾、和權限的問題,算是紀錄一下,以免太久沒用到自己都會忘記也說不定。就這樣啦,開始今天的疑難雜症排解。
資料夾權限問題
大概說一下問題發生會有啥情況,情形就是「無法使用自動安裝程序,必須輸入FTP的帳號密碼」。沒錯,這很不方便也很怪,為什麼裝個東西要這樣。對岸稱這個情況為「無法定位WordPress Content目錄」的問題,不管叫什麼,以下是一個簡單的解決辦法。
解決
開啟根目錄下的「wp-config.php」文件,在最後一行上添加下方代碼。
/** 設定新主機資料夾權限 **/
if(is_admin()) {
add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
define( 'FS_CHMOD_DIR', 0751 );
} |
記憶體過小問題
發生這問題會在後台看見一排字,很長,如下。
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate xxx bytes) in /home/xxx/public_html/wp-admin/includes/xxx.php on line xxx
xxx你可以隨意帶入,也可能不是發生在includes資料夾下,不管它在哪,如何解決都是一樣的方法。例如Google XML Sitemaps也會有記憶體過小問題,會出現以下字樣。
上次的執行並未結束!也許您需要替 PHP 增加記憶體或者時間限制。
解決
開啟根目錄下的「wp-settings.php」,在前幾行找到以下並將32M改為64M或是128M。
define('WP_MEMORY_LIMIT', '32M'); |
解決2
如果第一個方法確定無效,請在根目錄下新增php.ini文件, 打上一行。
memory_limit = 64M |
然後在.htaccess任一行(建議放於最上面)加入以下代碼。
suPHP_ConfigPath /home/ooo/public_html |
ooo改為你帳號,看看有沒有效吧。如果上述兩個方法都無效,肯定你是免空... 換家吧。
PS:感謝 獨夜 補充解決二需搭配.htaccess的部份。
該更改權限的東西
搬家以後資料夾和檔案權限大亂,但還好要設定的不多,大概就是一些會自動產生、自動編輯文件的外掛需要設定權限,讓他們可以正常運作。
嗯,基本上使用WordPress都會使用一些外掛,就是Cache、Sitemap之類的,這些都是有自動更改檔案和目錄需求的外掛。於搬家前最好可以先停用、刪除,然後到ftp把它移除乾淨。沒有事先弄好也可以,只要在事後移除、更改幾個項目就行了。
事前操作
為了之後操作方便,請先將wp-content下的所有資料夾與檔案,除了languages資料夾以外全部權限設定為777(建議使用FTP改)。如果日後不線上修改主題,themes資料夾也不用改沒關係。
Super Cache重裝
Ok,首先wp-content下會有個cache資料夾,麻煩全部刪除。接著是wp-cache-config.php和advanced-cache.php,也都刪除掉。這些都是Super Cache的檔案,重裝後會重新產生。
接著就可以開始重新安裝了,有問題在發上來吧,目前手邊沒範例。
Google XML Sitemaps權限
Google XML Sitemaps就是會在根目錄下產生兩個檔案,一個是「sitemap.xml.gz」,另一個則是「sitemap.xml」。這兩個都是讓搜尋引擎方便收集連結的東西,沒裝就算了,裝了前景大好。
你可以將這兩個檔案設定為777,然後到Google XML Sitemaps控制台按下「重新產生網站地圖」,如果生成沒有成功請刪除首頁下的sitemap.xml.gz和sitemap.xml.gz。
Google XML Sitemaps權限2
第一個方法掛了,只好試試看第二個方法。在「重新產生網站地圖」連結下方有個「除錯功能」,麻煩按下去,接著過段時間會產生一篇密密麻麻的東西,別理它。
把頁面拉到最下方,按下「Rebuild」按鈕即可。
小結
以上,如有任何問題歡迎留言詢問。因為以上東西都是靠印象打出來的,如果有怪異或是不同的第方請提出意見,我會修改修改內容的,謝謝。最後,希望此篇文章能幫助到你。
















補充一下,在空間下使用php.ini增加記憶體還要搭配.htaccess。在.htaccess任一行(建議放於最上面)加入
suPHP_ConfigPath /home/single9/public_html
這一行。
[回應]
謝啦,已經補充說明。
[回應]
捏...幫我把帳號那邊改掉~"~
忘記改 QQ
[回應]
科科科科,免啦
[回應]
這裡好巢狀喔,能寫的地方愈來愈小耶.
感謝炮爺昨天教小弟TOT
[回應]