0

php.inipost_max_sizeとupload_max_filesizeがどのように機能するかについていくつかの紛らわしい問題に遭遇しました。php.netのドキュメントを読むと、post_max_size=16Mおよびupload_max_filesize=16Mに設定することで、最大16MBのファイルをアップロードできるようになることがわかります。しかし、私が見たものはそうではありません。これを使用して、ロードされた.ini値を確認しています

$max_upload = (int)(ini_get('upload_max_filesize'));
$max_post = (int)(ini_get('post_max_size'));
$memory_limit = (int)(ini_get('memory_limit'));
$upload_mb = min($max_upload, $max_post, $memory_limit);

echo $max_upload;
echo $max_post;
echo $memory_limit;
echo $upload_mb;

出力:

2
8
96
2

値は、このphp.iniで指定した値と同じではありません。

これが私のphp.ini構成です: https ://docs.google.com/file/d/0B2o1vMJ7XFKyT0xDWUhJTnR0M2c/edit?usp = Sharing

phpinfo()の出力をチェックして、この構成がphpインタープリターがロードした構成であることをすでに確認しました。

ありがとう

4

2 に答える 2

1

私は自分の問題の解決策を見つけました。/etc/php5/fpm/php.iniをさらに徹底的にチェックすることで、次のことがわかりました。

error_reporting = E_ALL error_reporting = E_ALL & ~E_DEPRECATED ~E_DEPRECATED

その値をに固定することによって

error_reporting = E_ALL & ~E_DEPRECATED

問題を修正します。そして、そもそもこれらのネストされた値を持っていた理由は、そもそもsedを使用して値を変更していて、「&」文字をエスケープするのを忘れたためです。(&は部分文字列を挿入することを意味するため、その前に文字列を挿入します)。'\&'にエスケープした後、sedコマンドは期待どおりに機能します。

乾杯

于 2013-02-25T01:27:13.913 に答える
0

正しいphp.iniを変更しますか?phpiniディレクトリのApache構成を参照してください。別のphp.iniを変更する可能性があります。

setphpiniディレクトリ用のApacheconfigでこのようなものを検索します

 PHPINIDir "c:/php" 

別の問題は、実行時にパラメータを上書きするように設定した場合、htaccessでこのパラメータを設定することです。

お気に入り

 php_value upload_max_filesize 10M
 php_value post_max_size 10M 

注意:htaccessが親ディレクトリに設定されることがあります

于 2013-02-24T15:58:08.267 に答える