[PR] 本記事にはプロモーションが含まれています。

【WordPress】画像をアップロードできないときのphp.iniの設定|upload_max_filesize・post_max_size・memory_limitと反映の確かめ方

PHP

WordPress で画像をアップロードしようとしたら、失敗してしまうことがありました。原因は、画像の大きさが PHP の設定の上限を超えていたことです。自宅サーバー(AlmaLinux、php-fpm)の php.ini で上限を引き上げたときの設定をまとめます。

レンタルサーバーでは、php.ini を直接編集できないことが多く、管理画面の PHP の設定で同じ項目を変えます。

変える3つの項目

項目意味
upload_max_filesize1つのファイルの大きさの上限
post_max_size1回の送信(POST)で送れるデータ全体の上限
memory_limitPHP が1回の処理で使えるメモリの上限

大きさは、次の関係にしておきます。

Plaintext
upload_max_filesize ≦ post_max_size ≦ memory_limit

ファイルは POST のデータの一部として送られるので、post_max_size が upload_max_filesize より小さいと、ファイルの上限を上げても送れません。また、WordPress はアップロードした画像からいくつかの大きさの画像を作るので、memory_limit が小さいと、大きい画像のときにその処理で失敗することがあります。

php.ini を書き換える

AlmaLinux では、設定ファイルは /etc/php.ini です。

Bash
sudo vi /etc/php.ini

次の行を探して、値を変えます。

INI
; 1つのファイルの上限
upload_max_filesize = 30M

; POST で送れるデータ全体の上限(upload_max_filesize 以上にする)
post_max_size = 35M

; PHP が使えるメモリの上限(上の2つより大きくする)
memory_limit = 128M

; 1回の処理にかけてよい時間(秒)
max_execution_time = 300

max_execution_time は、大きい画像の処理に時間がかかって途中で打ち切られないように、長めにしています。

設定を反映する

PHP を php-fpm で動かしているので、php-fpm を再起動します。Apache の再起動はいりません。

Bash
sudo systemctl restart php-fpm

php-fpm を使わず、Apache の中で PHP を動かしている構成なら、Apache(httpd)を再起動します。

変わったか確かめる

WordPress の管理画面で「メディア」→「新規メディアファイルを追加」を開くと、「最大アップロードサイズ」が表示されます。ここが 30 MB になっていれば反映されています。

変わらないときは、php-fpm の設定ファイル(/etc/php-fpm.d/www.conf)に php_value[upload_max_filesize] などの行がないか確かめます。ここに書かれた値は、php.ini より優先されます。

注意点

  • 値は必要な分だけにする:
    memory_limit は1回の処理ごとの上限なので、大きくしすぎると、同時にたくさんの処理が動いたときにサーバーのメモリが足りなくなることがあります
  • Cloudflare を通しているときは、そちらの上限もある:
    Cloudflare の無料プランでは、1回に送れるデータの大きさが 100MB までです。php.ini をそれ以上にしても、Cloudflare を通るときに断られます(「Cloudflareとは?仕組みと無料プランでできること」)
  • 画像は小さくしてから上げるのも手:
    ブログに載せる画像は、アップロードの前に縮小しておくと、上限にかかりにくくなり、ページも軽くなります

まとめ

  • 画像がアップロードできないときは、php.ini の upload_max_filesize、post_max_size、memory_limit を見る
  • 大きさは upload_max_filesize ≦ post_max_size ≦ memory_limit
  • php-fpm なら php-fpm を再起動し、WordPress の「最大アップロードサイズ」で確かめる
  • Cloudflare の無料プランを通すときは、100MB が上限
ほかの開発・プログラミングの記事は、開発・プログラミングメモの目次から、テーマ別に探せます。

このブログは、にほんブログ村と人気ブログランキングに参加しています。記事が役に立ったら、下のランキングのバナーのどれかを押して応援してもらえると励みになります。

ブログランキング・にほんブログ村へにほんブログ村

サーバー構築・運用ランキング プログラムランキング

PHPWordPress
watasoftdevをフォローする

コメント