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