php.iniの場所を特定する
エラーメッセージの通り、php.iniファイルを探して、その中のupload_max_filesizeの上限を上げないといけません。
そのため、まずはphp.iniファイルの場所を探しましょう。
wordpressの現在有効にしているテーマのフォルダ中にあるfunction.phpの最終行へ以下を追加してサイトのTopページを開いてみてください。
phpinfo();
PHPのロゴとと共に、表が表示されているはずです。その中で、Loaded Configuration Fileという行を探してみてください。ここへ、php.iniの所在が書いてあるはずです。
php.iniを編集
どこにあるのか見つかったら、vi /usr/local/etc/php/php.ini
などのコマンドで開いて、upload_max_filesize と post_max_sizeなどの値を増やします。
デフォルトだと20Mなので、それ以上にしてください。
max_execution_time、max_input_time、memory_limitも、Wordpressのインポート機能などで使うので、upload_max_filesize と post_max_sizeの上限値を上げるだけではうまくいかないときは調整してみてください。
; アップロード可能な最大ファイルサイズを指定
upload_max_filesize = 64M
; POSTリクエストで送信可能な最大データサイズを指定
post_max_size = 70M
; (必要に応じて)スクリプトの最大実行時間を指定(秒)
max_execution_time = 300
; (必要に応じて)スクリプトの最大入力時間を指定(秒)
max_input_time = 300
; (必要に応じて)スクリプトのメモリ使用量の上限を指定
memory_limit = 256M
Loaded Configuration Fileが(none)になっている場合
Loaded Configuration Fileが(none)になっている場合はPHPのデフォルトで動いている状態なので、このような場合はphp.iniを新しく作る必要があります。
通常、/usr/local/etc/php/php.ini に配置されていることが多いので、そこへphp.iniを配置しましょう。
Dockerの場合
どのような環境で動かしているのかにもよるのですが、今回はDockerの場合を例にやり方を見ていきましょう。
docker-compose.ymlがあるディレクトリへ移動してphp.iniファイルを作って、upload_max_filesize と post_max_sizeなどの値を増やします。
次に、docker-compose.ymlファイルを開いて、以下のように、php.iniファイルを、コンテナ内の/usr/local/etc/php/conf.d/php-custom.iniにマウントするように書き換えます。
services:
wordpress:
image: wordpress:latest
volumes:
- ./php.ini:/usr/local/etc/php/conf.d/php-custom.ini
# 他のvolume設定...
できたら、Dockerコンテナを再起動しましょう。
docker-compose down
docker-compose up -d