WordPress 自動アップグレード coreserver
専用サーバーから coreserver に移行しています。
coreserver で wordpress を自動アップグレードしようとしたところ、
後述のエラーが発生。
色々調べて試してみたところ、
自動アップグレードに成功したので、その方法をご紹介。
coreserverでは、
WordPress本体のアップグレードやプラグインのアップデート、
テーマのアップデートなどでエラーが発生します。
大体こういったエラーです。
Warning: touch() [function.touch]: SAFE MODE Restriction in effect.
Warning: fileowner() [function.fileowner]: SAFE MODE Restriction in effect.
Warning: fileowner() [function.fileowner]: stat failed
Warning: unlink() [function.unlink]: SAFE MODE Restriction in effect.
PHPのセーフモードの制限に引っ掛かっているようです。
php.iniや.htaccessの設定で回避できるかな、と思って調べてみると、
.htaccess で制御できる事が判明。
PHPをCGIモードで動かせば良いようです。
wp-admin 配下に .htaccess を作り、
.htaccess に以下の一行を記述します。
AddHandler application/x-httpd-phpcgi .php
これで正常にWordPressの自動アップグレードが成功しました。
しかし、アップグレード後の管理画面の挙動がおかしいので、
アップグレード完了後は、.htaccessをリネームして、
制御がきかないようにしています。
CGIモードでない方が一般的に高速と言われるので、
アップグレードの時だけ、.htaccessを有効にする方法が
良さそうですね!