Local 版 WordPress(Windows10環境)でメディアアップロードできずに困った時の解決策
Local(※)版WordPressのインストール完了後、いざここから記事作成と思ったら
メディアアップロードができない
という問題が起きました。
※Localについては、
こちらの過去記事も併せてご参照ください。
times-diary.hatenablog.com
試行錯誤の結果、以下対応で解決することがわかったので、備忘録として共有いたします。
発生した問題
Localで構築したWordPressのメディアライブラリにファイル追加ができない(ファイルアップロードがまったくできない)。上記以外の不具合は特に見られず、一見正常稼働しているように見える。
この時のエラーメッセージ:
サーバーが画像を処理できません。このエラーは、サーバーが忙しいか、タスクを完了するために十分なリソースがない場合に発生します。小さな画像をアップロードすれば解決するかもしれません。推奨する最大サイズは2560ピクセルです。
(エラーメッセージを読むと、環境設定上のリソース不足かと思われたものの、PHPのしきい値設定を大きくしてみたり、アップロード対象のファイルサイズを小さくしてみたり等、いろいろ試してみてもうまくいかない。単にアップロード対象画像のサイズが大きすぎる、という理由ではなさそう。)
【問題発生環境】
- OS: Windows 10 Home
- CPU:AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz
- メモリ:8.00 GB
- システムの種類:64 ビット オペレーティング システム
- PHP version:8.0.0
- (ただし、設定可能なすべてのPHP version で同様であることを確認)
- Web server:Apache 2.4.43
- Database:MySQL 8.0.16
解決策
結論:Web serverを「Apache」から「nginx」に変更で問題解決ただApacheとnginx、それぞれの特性、向き・不向きに違いがあるため、これが真の解決とは言い難いのですが。。。
それでも、メディアライブラリアップロードエラー問題はひとまず解決できたため、同様の問題が発生してお悩みの方はお試しくださいませ。
「Apache」と「nginx」について
以下、Apacheとnginxの特徴、違いについてまとめてみました。Apacheとnginxの共通点
「Apache」と「nginx」の違い
以下、「Apache」と「nginx」で異なる特徴を上げてみました。Apache
以下、Apacheの公式サイトです。
httpd.apache.org
メリット
- 1995年リリース以来、長く世界1位のシェアを誇ってきた利用実績から技術情報が多い、信頼性が高いWebサーバーソフト
- 多くのレンタルサーバーで予め導入されている
- 動作の安定性、セキュリティの高さの点で優れている
- 複数同時並行処理に長けていて処理速度が速い
- 動的サイト、動的コンテンツに適している
- CMSとの相性が良い
- 技術的難易度の点で初心者にも扱いやすい
デメリット
- メモリ消費量が大きい
- メモリ消費量が増えると動作が遅くなる
- ユーザーの同時アクセスが多く見込まれるサイトには不向き
nginx
以下、nginxの公式サイトです。公式サイト
nginx.org
公式日本サイト
www.nginx.co.jp
メリット
- 静的サイト、静的コンテンツに適している
- コンテナ環境との相性が良い
- メモリ消費量を抑え高い処理性能がある
- C10K問題(※)に対応すべく開発されたため、Apacheよりユーザーの同時アクセスに強い
- リバースプロキシやロードバランサーなど、サーバーの負荷分散機能を備えている
- 大規模データの処理・分析に優れている特性から将来性の高さが期待できる
※C10K問題とは
Webサーバーが同時接続する端末が1万台を超えると、ハードウェア性能にかかわらず大きくレスポンスが低下してしまい、サーバーがパンクする問題
デメリット
今回改めて確認した限り、
Apacheとnginx、当たり前かもしれませんが、どちらにもメリット、デメリットがあり、一概にどちらが優れているというわけでも無さそうです。
ここ最近ではnginx標準搭載クラウドサービスも増えているため、適性・用途に応じて使い分けていきたいWebサーバーであると再認識いたしました。
以上、ご参考まで。