事例
なんかphpで2M以上のファイルをアップロードしようとするとエラーになったりNULLになったりする。
原因
php.ini
upload_max_filesize = 2M
php.iniでファイルサイズの上限が決められているようです。
これを変更しましょう。
解決策
解決策としては.htaccessを変更したりとか、phpのコード内に書く方法などがあるようですが今回はphp.iniを変更する方法を使います。
php.iniの場所を探す
環境によってphp.iniの場所が違うので以下のコマンドで確認してください。
$ php -i | grep php.ini
Configuration File (php.ini) Path => /usr/local/php/lib
Loaded Configuration File => /usr/local/php/lib/php.ini
書き換える
$ sudo vim /usr/local/php/lib/php.ini
php.ini
//以下の2つの値をupload_max_filesizeよりも大きい値に設定してください。
//メモリ使用量の制限
memory_limit = 128M
//POSTデータに許可される最大サイズ
post_max_size = 10M
//1つのファイルアップロードに許可される最大サイズ
upload_max_filesize = 10M
再起動
reboot
するなりapacheを再起動するなりして、phpinfo()
を実行して変更されていることを確認してください。
参考文献
http://tweeeety.hateblo.jp/entry/20121218/1355802787
https://mypacecreator.net/blog/archives/508