設定

「アップロードしたファイルは php.ini で定義された upload_max_filesize を超過しています」の対処方法

DockerでWordPressを立ち上げてテーマファイルをアップロードしようとしたところこのようなメッセージがでてアップロードに失敗しました。

アップロードしたファイルは php.ini で定義された upload_max_filesize を超過しています

WordPressのサイトヘルスのツールで上限を見てみると2MBとなっており、確かにアップロードしようしているファイルサイズの方が超過していました。ただ、この上限を変えないとテーマが使えないので上限を変える方法を調べました。

Docker公式のWordPressイメージで立ち上げているので、そちら方面から調べてみると答えが見つかりました。以下、対処方法です。Dockerでない普通のレンタルサーバ環境でも通用すると思います。

エディタのインストール

ファイルを編集できる環境でしたらこの章はスキップで構いません。

作業環境はQNAP上のDockerコンテナになります。シェルを立ち上げるとブラウザがコンソールの様になるので操作が楽です。以下、こちらのコンソールからの操作になります。

TS-453BeでWordPressを立ち上げる – Mark Creators

レンタルサーバーの更新日が近づいているので他の業者にするかどうか検討中ですが、まずは移行自体が可能かどうか確認しておこうとテスト環境を作ることにしました。 Docker, NAS, QNAP, TS-453Be, WordPress, コンテナ

  

ボリュームをホスト側にマウントしていれば直接ファイルを編集できると思いますが、大した作業量ではないのでコンソールからエディタで編集できると思ったのですが、デフォルトでエディタがインストールされていませんでした。

echoコマンドなど駆使すれば設定できますが、今後もエディタがあると便利なのでインストールしておきます。

$ apt-get update
$ apt-get install nano -y

vim-tinyも試してみたのですがマルチバイト文字が含まれているファイルを開くと、ブラウザ上のコンソールが操作できなくなってしまったのでnanoを代わりに使っています。

uploads.iniの編集

/usr/local/etc/php/conf.d/uploads.iniというファイルを作成して上限の設定を書き込んであげます。上限の値は500MBとしましたが運用上問題ない値にしてください。

$ touch /usr/local/etc/php/conf.d/uploads.ini
$ nano /usr/local/etc/php/conf.d/uploads.ini

書き込む内容

upload_max_filesize = 500M
post_max_size = 500M

設定が反映されているか確認する場合は、下記コマンドで見ることができます。

$ php -i|grep max
.....
upload_max_filesize => 500M => 500M
post_max_size => 500M => 500M
.....

.htaccessの編集

/var/www/html/.htaccessというファイルが作成されていると思います。バックアップを取って、このファイルに追加設定を書き込んであげます。

$ nano /var/www/html/.htaccess

書き込む内容

ファイルには既に設定が書き込まれていると思います。# END WordPressの後ろの行から設定を追記します。

php_value upload_max_filesize 500M
php_value post_max_size 500M

以上で設定は終わりです。コンテナを再起動して再度アップロードしてみると成功しました。参考にしたソースは下記になります。

管理人

Recent Posts

CanvaがSerif (Affinity) を買収

私は使ったことがないのですが名前はよく聞…

4週間 ago

Serifのスプリングセール – アドオンが50%オフ

Affinity Photoなどレタッチ…

2か月 ago

音声がロボットのようになるときの対処

リモート会議などでたまに相手の音声がおか…

3か月 ago

Serifのブラックフライデー – 全品40%オフ V1ユーザは更にお得!

恒例のブラックフライデーセールが始まりま…

5か月 ago

[rust] rayonで書き直してみました

前回のコードを元にrayonを使った処理…

6か月 ago

[rust] async-stdで書き直してみました

前回のコードをasync-stdで書き直…

6か月 ago