web-dev-qa-db-ja.com

PHPでupload_max_filesizeを変更する

私はPHP 5.3.0を使用していますが、バグ(この場合は報告します)または私である可能性のある何かに遭遇しました。

このコードを実行する場合:

<?php
ini_set('upload_max_filesize', '10M');
echo ini_get('upload_max_filesize'), ", " , ini_get('post_max_size')

私は最終的に:

2M, 8M

これは、php.iniでこれらを高く設定しているにもかかわらずです。

upload_max_filesize = 10M
post_max_size = 10M

(一度だけ発生)

Php.iniで設定されているのと同様に値を設定した後にエラーが発生するので、私はそれがバグだと思う傾向があります。誰でも私が間違っている場所を確認したり、指摘したりできますか?

更新:Apacheの再起動のように見えますが、これを修正しました-php.iniを変更した場合、再起動する必要はないといつも思っていました。

77
Ross

略記法 を使用して、PHP.ini以外の設定値を設定することはできません。悪い値に直面したとき、コンパイルされたデフォルトとして2MBに戻っていると思います。

一方、upload_max_filesizeini_set()を使用して設定できるとは思いません。 "official" list は、それがPHP_INI_PERDIRであることを示しています。

60
Rob

共有ホスティングプロバイダーを使用していますか?変更しようとしているものを上書きするマスター設定である可能性があります。それらを.htaccessに追加しようとしましたか?

php_value upload_max_filesize 10M
php_value post_max_size 10M
69
karim79

共有ホストでこの問題に遭遇し、.htaccessファイルに値を追加できなかったため、ソリューションを共有すると思いました。

値が入ったiniファイルを作成しました。そのような単純な:

「.user.ini」というファイルを作成し、値を追加します

upload_max_filesize = 150M
post_max_size = 150M

ブーム、問題は解決しました。

37
quid

アプリをロードするindex.phpスクリプトと同じディレクトリにある.user.iniファイルを使用して、これを機能させました。内容は次のとおりです。

upload_max_filesize = "20M"
post_max_size = "25M"

これはHerokuの推奨ソリューションです。

9
dwenaus

これは、Apache構成でも制御できます。 httpd.confおよび/または.htaccessで次のようなものを確認します。

php_value upload_max_filesize 10M
5
Byron Whitlock

Wampやxamppなどのローカルサーバーで実行している場合は、考えているphp.iniを使用していることを確認してください。これらのサーバーは通常、html docsフォルダーにないphp.iniにデフォルト設定されます。

0
Beachhouse