幾種修正WordPress無法自動更新的方法

前陣子主機升級,也順便把Wordpress搬移到新主機,但卻發現之前幾種可以繞過FTP自動更新的方法,在新主機上不能用了?明明作業環境還是一樣,除了是採用新版本外其餘應該都是一樣,但就是不能用…

大叔我在Google上找了幾種方式,這裡整理在一起,當個筆記也給遇到同樣問題的人參考

第一種方法,我先前在713+上是使用修改config.php的方式,直接把下面灰色區域的程式碼加入config.php中即可,也是最常用、簡單的方式,除了「可能」有安全上的疑慮,個人經驗是,架設6-7年間是沒有遇到什麼奇怪的問題,大概是流量不夠高吧,網路殭屍軟體也沒興趣吧 XD

/** 繞過FTP更新Wordpress、插件 */
define(‘FS_METHOD’, ‘direct’);

第二種方法,修改Wordpress資料夾的權限,這部份有向Synology技術人員請教,他們給我的回覆有兩種方式,一是「把Wordpress所在資料夾的權限改成http即可」(參考下圖),但是Wordpress還是不給自動更新…Orz,二是第上面修改config.php那招…

將Wordpress所在資料夾擁有者(權限)設定為 http ,並且勾選套用到子資料夾與檔案(線條手繪就別再意了 :D)

第三種方法,參考自挨踢路人甲這一篇中的使用Telnet登入修改資料夾權限,可惜我不懂相關指令,但是可以使用FTP登入主機修改資料夾權限,FTP軟體我使用FileZilla,登入方式使用快速登入,登入時遇到一個問題,直接使用網址登入會遇到沒有權限的問題(連目錄都不能顯示),但是改成NAS區域網路IP登入,權限就很正常(帳號都是同一個…),接下來很簡單進入Wordpress所在資料夾,右鍵「檔案權限」,設定成如下圖(也就是755),但是….還是不能自動更新

第四種方式,一樣是修改config.php,但是程式碼功能變成修改檔案權限….,對!很奇怪,第三種方法就是修改檔案權限,但是就是不能執行自動更新,但這個程式碼很神奇的可以用,關於這個程式碼在WordPress Development相關討論,簡單的說就是在某些商業主機可能會有問題,而且會有安全性的問題(哪種安全問題大叔也不懂)….

大叔非資訊網路專門,大家請斟酌使用,後果自負 😛

/* 修正 WordPress 無法自動更新*/
putenv('TMPDIR=' . ini_get('upload_tmp_dir'));
if(is_admin()) {
add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
define( 'FS_CHMOD_DIR', 0751 );
}

問題解決,安全自負… 😛

如果有其他更安全更好用的方式,歡迎告知大叔造福人群 🙂

發表迴響

%d 位部落客按了讚: