Linux PHP Wordpress

テーマのアップロードを行うと413 Request Entity Too Largeのエラーとなり、テーマを追加できない。NginxとPHPの両方で設定変更が必要。WordPress。

コトの発端

新しいブログ立ち上げたいな。

そんなわけで、GMOクラウドVPSをレンタルしてLEMP環境(Linux, Nginx, MariaDB, PHP環境)を構築し、Wordpressを展開した。

クッソどうでもいいけど、NginxだからLNMPじゃね?って思ったけど違うらしい。下記サイト参考。

LEMP+Wordpress環境の構築については下記のサイトがきれいにまとめられてあった。感謝。

【wordpressの環境構築】Ubuntu20.04,Nginx,PHP7.4,MariaDB

https://tomato-develop.com/ubuntu-20-04-nginx-mariadb-wordpress-setup/

そんなこんなでWordpress起動したし、Wordpressのテーマを適当に選定していたところ、Affinger6は1ライセンスの購入でサイト数無制限なので新しいブログでも使用してみることに。テーマを追加と。。。

413 Request Entity Too Large
413要求エンティティが大きすぎます

なんじゃこりゃ。

調査編

原因の調査を開始

あらかたphp.iniでのポスト可能なサイズが小さすぎるとかそういう系だろう。

ある程度のサーバの設定についてはWordpressのダッシュボード上から確認できるので便利だよね。

サーバ設定の確認手順は以下の通り。

ツール→サイトヘルス→情報→サーバ

新しく構築したサーバ上での初期設定は以下の通りであった。

確かにアップロードの上限ファイルサイズが小さめなので大きくしてみようか。

php.iniの場所はどこ?

アップロード上限についてはphp.iniを変更して増やしてみようか。

私の環境では下記の場所にphp.iniが配置されてあった。

vim /etc/php/7.4/fpm/php.ini

適当に検索してポストできる上限サイズを増やすこととした。

サーバ用途的に大きめのファイルを取り扱うため、入力時間max_input_time、メモリ量memory_limitを合わせて設定している。

max_input_time = 600
post_max_size = 256M
upload_max_filesize = 128M
memory_limit = 512M

設定を反映

service php7.4-fpm restart

WordPressの管理画面で設定が変更されたことを確認する。

設定反映されてそうだね。

ここで落とし穴が

php.iniでの設定適用後、テーマをアップロードしようとするも冒頭と同じ現象が発生した。

さらに調べて見ると、Nginxはデフォルトだと1MBまでのファイルのアップロードしか受け付けていないらしい。

アップロード可能なファイルを増やすには、Nginxのサイトの設定ファイルでclient_max_body_sizeを設定する必要があるらしい。

私の場合は下記の場所に格納されていたファイルにclient_max_body_sizeを追加した。

vim /etc/nginx/sites-available/wordpress.conf

上記ファイルの場所と設定については環境によって異なる。例は、下記のサイトを参考にして構築をした私の場合の場所となる。

【wordpressの環境構築】Ubuntu20.04,Nginx,PHP7.4,MariaDB

https://tomato-develop.com/ubuntu-20-04-nginx-mariadb-wordpress-setup/

下記コマンドで設定を反映させた。

systemctl restart nginx

その後、テーマが無事にアップロードされ、インストールされたことを確認した。

まとめ

ポスト可能なファイルのサイズを変更する場合は、PHPの設定のほか、Nginx環境の場合はNginxの設定ファイル(.conf)を合わせて変更する必要がある。

おまけ

Affinger6のサイズは親テーマ子テーマのzipファイルのそれぞれが2MBもないので、今回の場合はNginxの設定だけ変更すれば大丈夫だった可能性がある。

ただし、今回構築中のサイトの用途的には、大きなファイルを投稿する可能性があったため、ちょうどいい機会となった。

今回のサーバ設定だがPHPタイムリミットも短いと感じたので、下記の記事を参考タイムリミットも長く設定し直した。

max_execution_time = 300

いつもの

記事の正確性については無保証です。

  • この記事を書いた人
あっきー

あっきー

とある企業の研究者。研究分野以外に手を出しすぎて毎日が慌ただしい。 研究者の肩書きが正しいかどうかは万年の謎。 得意ジャンルはデータベースとセキュリティーですが、AIやIoT、アプリ開発など、手広く活動しています。

-Linux, PHP, Wordpress
-, , ,

Translate »