wp更新時,不繞過FTP更新,有時會有「目前正在執行另一項更新程序」(「Another Update in Process」),有時是無反應,試過多種方法。
在functions.php添加以下兩行:
global $wpdb;
$wpdb->query(“DELETE FROM wp_options WHERE option_name = ‘core_updater.lock’”);
結果:網站嚴重錯誤關閉
安裝外掛「Fix Another Update In Progress」
結果:什麼也沒發生
更改目錄及檔案權限
結果:沒任何變化
關閉所有外掛
結果:沒任何變化
在config.php加入以下兩行:
/** 繞過FTP更新Wordpress、插件 */
define(‘FS_METHOD’, ‘direct’);
結果:沒任何變化
在wp-config.php加入以下
/* 修正 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 );
}
結果:成功!
關於這個程式碼在WordPress Development有相關討論,簡單的說就是在某些商業主機可能會有問題,個人經歷的問題是,外掛和wp的語言檔不能更新。但無論如何wp主程式更新成功了,需要更新外掛和語言檔時還需要用「#」把它註釋掉才行。或者是把它註釋掉,以便外掛可以更新,直到wp系統要更新時才在每行開頭刪去「#」把它打開,畢竟外掛更新更常遇到。