2009-07-13 9 views
67

私はPHP 5.3.0を使用していますが、バグ(その場合は報告します)があるか、私かもしれません。PHPでupload_max_filesizeを変更する

このコードを実行:

<?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 

(一度だけoccuring )

t彼はphp.iniに設定されているだけでなく、値を設定した後にエラーが発生します。これはバグだと思う傾向があります。誰かが私が間違っている場所を確認したり、私に指摘することはできますか

アップデート:Apacheを再起動するように見えます。これは、php.iniを変更した場合、再起動する必要はないと私はいつも考えていました。

+7

「私はいつもそれがあれば再起動する必要はありませんでしたと思いましたあなたはphp.iniを変更しました。 PHP CLIは、すべての呼び出しでphp.iniを解析するため、変更を直ちに取得します。 mod_phpは一度php.iniを解析します - apacheが起動するとき。 –

+0

私は最近同じ問題を抱えていました。 upload_max_filesizeは、Apacheを再起動することなく有効になります。私はPHP 5.2.9を使用しています。再起動後、すべて正常に動作しています。 – Haluk

+0

完全なApacheの再起動を避けるには、 "sudo service apache2 reload" – user1048839

答えて

53

あなたはphp.iniの外の設定値を設定するshorthand notationを使用することはできません。私はそれが悪い値に直面したときにコンパイルされたデフォルトとして2MBに戻っていると仮定します。

一方、upload_max_filesizeini_set()を使用して設定できませんでした。 "official" listにはPHP_INI_PERDIRと記載されています。

+10

あなたは正しいと思います! upload_max_filesizeは、php.ini、.htaccess、またはhttpd.confを介してのみ変更可能であることを意味するPHP_INI_PERDIR型であるため、ini_set()を使用してupload_max_filesizeを設定することはできません。http://php.net/manual/en/configuration changes.modes.php –

+1

実際には、PHP.ini以外の略記を使用することができます。 '.htaccess'や' ini_set'でも使うことができます。しかし、すべてのバージョンではないかもしれません。 –

56

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

php_value upload_max_filesize 10M 
php_value post_max_size 10M 
+1

を使用してください。いいえ、これは自分のマシン上にある自分のApache/PHPインスタンスです(該当する場合はWindows)。それらをApacheの設定に追加しようとします。 – Ross

+5

更新:これは影響を与えます(10に変更)ので、このメソッドは機能します。私はまだそれがphp.iniで動作していないか、ini_setを使用しているのかについて、かなり混乱しています。 – Ross

+0

+1これは間違いなくあなたがphp.iniに行くことができない場合に行く方法です - 大変ありがとうございます。 –

2

これはApacheの設定でも制御できます。次のようなもののためのhttpd.confおよび/または.htaccessのを確認してください:

php_value upload_max_filesize 10M 
-1

その場でini_setを使用すると、ここにはhttp://php.net/manual/en/ini.core.phpなどの情報が表示されます。 upload_max_filesizeとpost_max_sizeはオンザフライで変更できません(PHP_INI_PERDIR)。

これらの変数は、php.ini、.htaccess、またはvhostの設定変更によってのみ変更されるようです。

-1

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

-11

あなたは、私はこれが私のアプリをロードする私のindex.phpスクリプトと同じディレクトリに.user.iniファイルを使用して動作するようになったこの

<?php ini_set('upload_max_filesize', '200M'); ?> 
+2

これはまったく間違っています:http://stackoverflow.com/a/13442343/1413865 –

6

ようなPHPファイルでも使用することができます。内容は次のとおりです。

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

これは、Herokuにとって推奨されるソリューションです。

30

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

iniファイルに値を入れました。そのような単純な:

は ".user.ini" と呼ばれるファイルを作成し、自分の価値観

upload_max_filesize = 150M 
post_max_size = 150M 

ブームを追加し、問題が解決しました。

+0

私のために働いた!ありがとう! –

+3

"主なphp.iniファイルに加えて、PHPは要求されたPHPファイルのディレクトリから現在のドキュメントルートまでの各ディレクトリのINIファイルをスキャンします。 http://php.net/manual/en/configuration.file.per-user.php – untill

+0

あなたは男です!どうもありがとう ! – Dia

-1

私は同じ問題に直面してきましたが、私は確認し、()関数をini_set使用していないすべての設定を設定できることを見出し、このWhere a configuration setting may be set

関連する問題