回答:
それはあなたがこれらのファイルのそれぞれに変化しているものをあなたの質問から明らかではないが、私はそれがそれぞれの場合に推測PHPの設定。upload_max_filesize
通常、設定はこの順序で適用され、それぞれが以前の値を上書きします。
ini_set()
しかし、この設定が定義されてPHP_INI_PERDIR
いる、などこのページで説明し、それが使用して設定することができないことを意味ini_set
するので、wp-config.php
それを変更することはできません。したがって、あなたが質問で与えた例では、64MBの.htaccessから値を取得します。
これecho ini_get('upload_max_filesize');
は、コードのどこかで実行することで確認できます。
ユーザーごとのphp.iniファイルや他のApache構成コンテキストなど、上記に記載していない他の値を設定できることに注意してください。また、これらの一部は無効にすることができます。そのため、サーバーが.htaccessで上書きを許可するように設定されていない場合、そこに値を設定することもできません。
また、Wordpressには独自の構成変数がいくつか含まれており、PHP構成とさまざまな方法で相互作用します。たとえば、WP_MEMORY_LIMIT
は起動時にPHP 設定を上げようとしますが、チェックして決して下げないコードがあります。これには一般的なルールはなく、設定によって異なります。memory_limit
基本的に3つのファイルすべてが考慮されます。
WordPress /サーバーは次の順序でチェックします。
wp-config.php > .htaccess > php.ini
「より高いレベル」(チェーンの後半)の何かがあなたの値を制限している場合、前の値は無視されるか上書きされます。チェーンの一部が欠落している場合、.htaccess
たとえば、次に高い値が代わりに使用されます。
あなたの例では.htaccess
はmax_upload_size
64 MBに制限されますが、サーバーは最大256 MBで問題なく、WordPressは最初に最大128 MBのファイルサイズも受け入れます。
ファイルを介して別の制限を設定.htaccess
することもできます。これにより、からの値が上書きされphp.ini
、支配的な値ではなくなります。これは多くのホスティング環境で機能するので、この方法でを上げたり下げたりできる可能性はかなり高いですmax_upload_size
。
より厳密に構成されたホスティング/サーバーがある場合、設定を上書きするオプションが無効php.ini
になっている可能性があります。この場合、max_upload_size
からのオーバーライド.htaccess
は機能しないため、これが制限要因になる可能性があります。
.htaccess
リストの真ん中にある場合、なぜそれが制限要因になるのでしょうか?
flomeiは答えを編集するべきだと思います。正しい答えですが、説明が悪いからです。
Php.ini -> .htaccess -> wp-config.php
実際には、各ファイルが読み取られる順序であり、以前に定義された設定がないことを考慮して値を設定します。ただし、以前に定義された設定がある場合、これは、新しい設定の方が低い場合にのみ「上書き」されます。
つまり、64Mbのwp-config.phpと32MBの.htaccessがある場合、すでに下限があるため、wp-config.phpはその設定をオーバーライドしません。最終的に32Mbになります。
しかし、32Mbのwp-config.phpと64MBの.htaccessがある場合、wp-config.phpは以前の設定を32Mbに下げます。
編集:明確にするために、IMSOPが指摘しているように、wp-config.phpでは、 'WP_MEMORY_LIMIT'を変更する場合にPHP設定で許可されているサイズよりも制限的なサイズを設定するだけで、それを超えることはできません。したがって、実際には設定のオーバーライドではありません。実際、実行時のさまざまなポイントで実行される個別のチェックがあります。upload_max_filesize
彼が想定しているようにphp設定を変更している場合(質問は変更している設定を示していません)、それは効果がありません。
また、phpの設定post_max_size
よりも大きい必要があることを考慮する必要がありupload_max_filesize
ます
upload_max_filesize
ので、(それがどんな効果を持っているため手遅れおそらくので)実行時に変更することはできませんwp-config.php
、それ一つの方法または他の影響を与えることはできません。組み込みのデフォルトの2MBについても言及されており、それよりも確実に高く設定できます。
wp-config.php
あるini_set('upload_max_filesize', '32M');
、それは持っていないだろう今まで、何の効果もその設定があるため、実行時に設定することができないとして、それは次のように定義されますPHP_INI_PERDIR
。(そのドキュメントページが間違っている場合を除いて、それはありそうにありません。)
wp-config.php
値と任意のPHP値をで設定すると、少し混乱があったと思いますini_set()
。私が理解しているように、wp-config.php
主にWordPress固有の構成値の設定に関係しており、これらの多くは実際に、基になるPHP構成設定(回答で述べたような)によって実際に制限されています(つまり、上限が課せWP_MEMORY_LIMIT
られています)。これはワードプレスのものです。ただし、PHPで任意のPHP設定値を設定する場合ini_set()
、そのような制限はありません。