wordpress自動更新のエラーについて調べたけどわかんなかった
過去にさくらのVPS-WordPressの自動更新時のエラー原因-の記事を書きましたが、FTPなどで情報を記憶させておくとwordpressやプラグインの自動アップデートができません。なんでできないのかわからないのでちょっと調べて見ました。
環境-logw
- PHP:モジュールモード
- サーバー:VPS
- 自動アップデード:できない
環境-共用サーバー
- PHP:cgiモード
- サーバー:共用サーバー
- 自動アップデード:できる
PHPのセーフモードの仕業?
WordPressの自動アップグレードに失敗するのはPHPの仕業の記事ではPHPがセーフモードがオンだとアップデートできないそうです。PHPのセーフモードをオフにすることで自動アップデートができると書いてあるので実際にやってみました。
vi /etc/php.ini セーフモードを見てみると・・・ safe_mode = Off
デフォルトでオフでした。PHPのセーフモードがオフでもlogwはアップデートできませんでした。これが原因というわけではなさそうです。
.maintenanceを削除
WordPress 3.0.2の自動アップグレードに失敗したのサイトを参考にしましたが、logwには.maintenanceというファイルは元々ないのでこれも違いますね
所有者をapacheに変更する
アップデートを行うのはapacheになるので所有者を一時的にapacheに変更し、終わったら元にもどすということになります。
chown -R apache:apache ディレクトリ名
アップグレードなどが終わったら所有者を戻すというのはめんどうです。ついでにいえば共用サーバーではこういった事しないので無しだなと思います。
一部のファイルだけをapacheに変更
FTP接続できなくても自動アップグレードは可能(wordpress)さんのページにあったないようになります。wp-admin/update.phpとwp-admin/update-core.phpをapacheユーザーにすることになります。
# chown apache.apache wp-admin/update.php # chown apache.apache wp-admin/update-core.php
logwでもやってみました。見事に失敗しました。これでできても共用サーバーではこういうことはしないのでやり方としては間違っていますね・・・今回あくまで共用サーバーのように自動で更新したいということになりますので・・
結論
わかりません。毎回ホスト名とかを入力するときは特にアップデートで問題が起きたなどはなかったのですがFTP情報を記憶するとアップデートエラーがでます。また手動で対応するか・・・共用サーバーではどうやって可能にしているのか気になります。
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS