まれによく遭遇する現象
該当PHPファイルに記述や、php.iniや.htaccessを変更して対応する。
原因1.設定されているメモリが足りない
処理するメモリの設定が少ない場合はエラーをはいてアップロードができない。
対策:memory_limitの値を変更する
原因2.POSTデータに許可される最大サイズが足りない
POSTのデータ容量が大きいとこれに引っかかることがある。特に画像など送信時。
対策:post_max_sizeの値を変更する
この値は必然的にmemory_limitより少なくなければならない。
送信したデータはメモリにて処理されるため。
原因3.アップロードされるファイルの最大サイズの容量がオーバーした
1つのファイルの限界サイズを超えるとこのエラーになる。
対策:upload_max_filesizeの値を変更する
この値は必然的にpost_max_sizeより少なくなければならない。
例えば2ファイル送信した場合はこの値の2倍の容量のpost_max_sizeを指定しなければ、ファイルが送信できない。
原因4.同時にアップロードできるファイルの最大数を超えた
特にエラーはでてないけれど、ファイルが全て送信されていない。データの数が合わない。
対策:max_file_uploadsの値を変更する
なお、これらの設定はphpinfoで表示できるので、それで確認することが可能。
php.iniで設定する場合
値 = 数値
例えば
memory_limit = 128M
と記述する。
.htaccessなら
php_value 値 数値
例えば
php_value memory_limit 16M
php中なら
ini_set(‘値’, ‘数値’);
例えば
ini_set(‘memory_limit’, ‘128M’);
コメント