Quantcast
Channel: 6w6a's blog
Viewing all articles
Browse latest Browse all 50

WordPressの自動アップグレードをXrea&Coreserverで使用する

$
0
0

WordPressを最新版に自動アップデートした際、XreaまたはCoreserverでお約束のセーフモードに詰まった際の解決方法のメモです。

WordPress 2.7以降のバージョンには、WordPress本体を1クリックで自動アップグレードできる機能が搭載されました。しかし、XreaやCoreserverではPHPがモジュール版で動作しており、そのままWordpressを自動アッググレードしても、セーフモードによる制限によるエラーを吐いてしまいます。

Warning: touch() [function.touch]: SAFE MODE Restriction in effect. The script whose uid is 12345 is not allowed to access /tmp owned by uid 0 in /virtual/account/public_html/wordpress/wp-admin/includes/file.php on line 184

これにはPHPをCGI版で動かすことで対処します。/wp-adminの.htaccessへAddHandler application/x-httpd-phpcgi .phpと記述するワンライナーでスマートに済ませたいところですが、特にXreaではメモリ不足により管理パネル画面の表示が崩れてしまうことがあります。そこでディレクティブを用いて、CGI版で動作させる対象を必要なPHPファイルに限定することで、サーバーへの無用な負荷を避けてやります。/wp-admin/.htaccessに記述する内容は以下のとおりです。
("#"で始まるコメント行は削除しても構いません。)

# WordPress本体のアップグレード
<Files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
# 画像やファイルのアップロード
<Files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
# プラグインやテーマのアップグレード
<Files update.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
# プラグインの新規インストール(WordPress 2.7xの場合のみ必要)
<Files plugin-install.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

WordPressの自動アップデートは正常に動作しましたか?手動での更新作業の手間が省けて、本当に便利な機能だと思います。セキュリティの観点から、Wordpressは常に最新の状態に保っておきましょう。変更を加えた個々のファイルは元に戻ってしまいますから、再度手を加えることを忘れてはいけませんよ。


Viewing all articles
Browse latest Browse all 50

Latest Images

Trending Articles