2
1

More than 1 year has passed since last update.

Wordpressで「アップロードされたファイルが php.ini の upload_max_filesize ディレクティブを越えています。」を解決する

Last updated at Posted at 2023-08-07

php.iniの場所を特定する

エラーメッセージの通り、php.iniファイルを探して、その中のupload_max_filesizeの上限を上げないといけません。
そのため、まずはphp.iniファイルの場所を探しましょう。

wordpressの現在有効にしているテーマのフォルダ中にあるfunction.phpの最終行へ以下を追加してサイトのTopページを開いてみてください。

function.php
phpinfo();

PHPのロゴとと共に、表が表示されているはずです。その中で、Loaded Configuration Fileという行を探してみてください。ここへ、php.iniの所在が書いてあるはずです。

php.iniを編集

どこにあるのか見つかったら、vi /usr/local/etc/php/php.ini などのコマンドで開いて、upload_max_filesizepost_max_sizeなどの値を増やします。
デフォルトだと20Mなので、それ以上にしてください。

max_execution_time、max_input_time、memory_limitも、Wordpressのインポート機能などで使うので、upload_max_filesize と post_max_sizeの上限値を上げるだけではうまくいかないときは調整してみてください。

php.ini
; アップロード可能な最大ファイルサイズを指定
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_filesizepost_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
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1