PHP-FPM .user.iniでアップロード可能容量設定
- PHP
 - 
                        
2025-06-08                                                                     
PHP-FPMの.user.ini設定を少し深掘りしてみます。
ファイルのアップロード可能な容量制限を変更するとき、次のような設定をすることがあります。
memory_limit = 256M upload_max_filesize = 10M post_max_size = 12M
しかし、実はこれうまくいきません。
このうち.user.iniで完全に反映できるのはmemory_limitのみです。
他2つは.user.iniではphpinfo()に反映されても、実際の動作には反映されない可能性が高いです。
| ディレクティブ | .user.iniに設定 | phpinfo() に反映 | 動作に反映されるか | 
|---|---|---|---|
| memory_limit | できる | 表示される | 動作にも反映 | 
| post_max_size | 一部反映される | 表示される | 動作には反映されない(FPM起動前に必要) | 
| upload_max_filesize | 一部反映される | 表示される | 動作には反映されない(FPM起動前に必要) | 
なぜupload_max_filesize・post_max_sizeが効かないのか
これらはPHPがファイルやPOSTデータを受け取る前に使われる設定のためです。
post_max_size:PHPがPOSTデータ全体を読み込む前に必要
upload_max_filesize:ファイルアップロード制御も同様にPHPエンジンが処理を始める前に評価
.user.iniは「スクリプトが実行される直前」に読み込まれるため、POSTボディがすでに破棄された後ということになります。
正しい設定方法(PHP-FPM環境)
.user.iniではなくFPMの構成ファイル(www.conf)かphp.iniに設定します。
- 
FPMプール設定:www.conf
php_value[upload_max_filesize] = 10M php_value[post_max_size] = 12M php_value[memory_limit] = 256M
 - 
.user.iniで可能な範囲で設定する場合
; /path/to/your/webroot/.user.ini memory_limit = 256M ; 以下は表示されるが動作に反映されない可能性あり upload_max_filesize = 10M post_max_size = 12M
ただし、前述の通りこれではアップロード制限などには影響しません。
 
まとめ
| 対象 | 推奨の設定場所 | 備考 | 
|---|---|---|
| memory_limit | .user.ini or php.ini or www.conf | どれでもOK | 
| post_max_size | php.ini or www.conf | .user.ini ではNG | 
| upload_max_filesize | php.ini or www.conf | .user.ini ではNG | 
補足1:.user.ini で効かない典型的な設定
| ディレクティブ | .user.ini で効かない理由 | 
|---|---|
| upload_max_filesize | PHPがPOSTデータを受け取る前に評価される | 
| post_max_size | 同上(HTTPリクエスト処理の段階) | 
| max_execution_time | スクリプトが開始する段階ではすでに設定が必要 | 
| max_input_time | 同上(リクエスト入力処理段階で必要) | 
補足2:.user.ini の用途に向いている設定
| ディレクティブ | 説明 | 
|---|---|
| memory_limit | PHP実行中に使えるメモリ量 | 
| display_errors | エラー表示の有無 | 
| error_reporting | エラーレベルの設定 | 
| date.timezone | タイムゾーンの設定 | 
                        この記事がお役に立ちましたらシェアお願いします
                    
                    
                
                        698 views 
                                                                    
                    
                



