問題
PHPでファイルアップロード時にうまくいかない時はphp.iniのアップロードサイズの上限設定を疑ってみる。
解決手順
PHPの設定を確認する。
phpinfo()で設定を確認する。
/info.php
<?php
phpinfo();
以下の画像の「upload_max_filesize」という項目がアップロードサイズの上限。右がサーバーに設置してあるphp.iniで設定されている値で、左はアプリケーション側で上書きされているときの値。(現在はアプリケーション側で値を変更していないので、php.iniの値がそのまま左にも反映されている)
実際に実行時に採用されるのは左側の値なので、左が変更できればOK。
設定を変更する。
ini_set()では変更できない。
php.iniのupload_max_filesizeという項目はini_set()では変更できない。変更方法は以下の3とおり。
- php.iniを変更する
- htaccessで設定する
- httpd.confで設定する
方法1)php.iniを変更する場合
php.iniを開いて、以下の行の値を変更する。
/etc/php.ini
upload_max_filesize = 8M
方法2)htaccessで設定する
以下の行を追加する。
/.htaccess
php_value upload_max_filesize "8M"
方法3)httpd.confで設定する
.htaccessと同様。
/httpd.conf
php_value upload_max_filesize "8M"