【php】ファイルアップロードサイズの上限を変更する

こちらのサイトではDRUPAL10に関連する記事を掲載しています。

PHPのデフォルトでアップロードできるファイルのサイズは8MBです。
それより大きなファイルをアップロードしたい場合は、設定を変更する必要があります。

毎回phpをインストールするたびに変更が必要になるのでメモとして残しておきます。

ファイルアップロードに関する php.ini ディレクティブ

ディレクティブ説明
post_max_sizePOST データの最大サイズ
upload_max_filesizeアップロードできるファイルの最大サイズ
memory_limitスクリプトが利用可能できるメモリの最大容量
max_input_timeスクリプトが POST、GET などの入力をパースする最大時間(秒)
max_execution_timeスクリプトの最大実行時間(秒)

設定手順

設定はphp.iniファイルを修正することで行います。

コードで変更することや.htaccessに記述することも可能です。

200MB のファイルアップロードを許可した時の設定です。

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; https://php.net/post-max-size
post_max_size = 200M

; Maximum allowed size for uploaded files.
; https://php.net/upload-max-filesize
upload_max_filesize = 200M

; Maximum amount of memory a script may consume
; https://php.net/memory-limit
memory_limit = 256M

; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.
; Note: This directive is hardcoded to -1 for the CLI SAPI
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; https://php.net/max-input-time
max_input_time = 300

; Maximum execution time of each script, in seconds
; https://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 300

注意点

memory_limit > post_max_size

  • post_max_size より、memory_limit の方に大きな値を設定しなければなりません。
このサイトに関するご意見・ご質問はこちらまで

この記事またはDrupalに関するご質問がございましたら、お気軽にお問い合わせください。

タイトルとURLをコピーしました