プラグインのトラブルには複数の解決方法があります。
WordPressのプラグインが管理画面からインストールできないときに考えられる原因と対処方法についての記事です。
バージョン2系ぐらいからずっとアップデートしてきた環境や、XAMPPなどのローカル環境で動かしていると発生しやすいようです。
目次
プラグインがインストールできない原因と対処方法
プラグインが動かない原因については次の様なものがあります。
- FTPアカウントを聞かれる
- ディレクトリのパーミッション
- PHPがセーフモードになっている
- ディスクの容量不足
- DB割り当ての容量不足
順に対処方法についてまとめます。
FTPアカウントを聞かれる
FTPアカウントを聞かれるのはWordPressでFTPを使うように設定されていないか、FTPアカウントそのものの設定がないかのどちらかです。
まずはWordPressがファイルをダウンロードする際にFTPを使うように wp-config.php に次の記述を追加し、動作を確認してみましょう。
※UTF-8 BOMなしで保存する必要があります
define('FS_METHOD', 'direct');
それでも毎回アカウントを聞かれる場合は、WordPressにFTPアカウントの設定がされていない可能性がありますので、次のコードで指定します。
define('FTP_HOST', 'FTP ホスト名');
define('FTP_USER', 'FTP ユーザー名');
define('FTP_PASS', 'FTP パスワード');
この指定をしたあとにファイルのダウンロードエラーなどが表示される場合は、WordPressの一時ダウンロード先の指定がおかしい(存在しないなど)可能性があるので、次のコードで確実に存在して書込権限があるパスを指定しましょう。
define ('WP_TEMP_DIR', '/pathto/tmp/');
※「/pathto/tmp/」はご自身の環境のものを指定してください
ディレクトリのパーミッション
「ディレクトリを作成できませんでした」などのエラーが表示される場合は、対象ディレクトリのパーミッション(権限)がおかしい可能性が高いです。
Webサーバーの権限とディレクトリ作成者の権限が違っていることが原因なので、環境に合わせて次のディレクトリの権限を、「グループ」もしくは「その他」のユーザーが書き込めるように設定すればOKです。
FTPクライアントやシェル、レンタルサーバーのコントロールパネルを用いて変更しましょう。
755かそれ以上(一部のサーバーでは777)に設定する必要があります。
/wp-content/upgrade
/wp-content/themes
/wp-content/plugins
PHPがセーフモードになっている
PHPがセーフモードで動作するサーバーの場合、基本的に管理画面からの更新ができません。
※SAFE MODE Restriction などのエラーが表示されるはずです
XREA、CORESERVER.jpなど一部のレンタルサーバーでは該当するPHPプログラムだけCGIモードで動かす設定ができるところもあります。
参考:XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)
限定的な対応としては、利用される可能性のあるディレクトリをあらかじめ作成して権限(707)を付与しておく、があります。
例えば次の様なディレクトリを対象に設定しておけば、運用も可能です。
define ('WP_TEMP_DIR', '/pathto/tmp/');
wp-content/uploads
wp-content/uploads/2017/06
wp-content/uploads/2017/07
...
ディスクの容量不足
安価なレンタルサーバーを利用していてディスクの容量が小さい環境だと、画像を動画のアップロードの量が多すぎて(加工前のデータをそのままアップロードしていたり)ディスクに書き込めなくなるケースを見かけます。
対応としては不要なファイルを削除するしかありません。
その後、画像などは自動で圧縮するプラグインなどを利用してWordPressが不必要に肥大化しないように対策するのが良いでしょう。
DB割り当ての容量不足
レンタルサーバーによっては、データベースの容量に制限がかけられていることがあります。
この場合、プラグインのインストール途中で動かなくなる、エラーが出るなどの症状が発生します。
ディスクの容量不足では内ので、プラグインファイルはアップロードされるのにWordPressの設定が行われないので分かりづらい問題です。
このケースでは、新規投稿やWordPressの設定変更も行えなくなっているので、そういった周辺の動作から見つけることになります。
私の経験では、過去2回ありました。
まとめ
一口にプラグインがインストールできない・更新できないと言っても、様々な原因があることがわかります。
原因が分かっても、その対処方法はレンタルサーバー会社の環境に依存するものも多く、安全性を考えた上で設定するとなると更にハードルが上がります。
こういったサポートはレンタルサーバー会社側で提供していないことも多く、ユーザーの事例をネットで検索するといった作業に多くの時間を割いている方が多いですね。
わからない作業にトライアンドエラーするよりも、時間対効果を考えて問題解決は外部にお願いした方が確実と言えそうですね。