ホームページ >バックエンド開発 >PHPチュートリアル >PHP `ini_set('upload_max_filesize')` が期待どおりに動作しないのはなぜですか?

PHP `ini_set('upload_max_filesize')` が期待どおりに動作しないのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-09 17:39:12985ブラウズ

Why Doesn't My PHP `ini_set('upload_max_filesize')` Work as Expected?

PHP での Upload_max_filesize 変更のトラブルシューティング

upload_max_filesize の意図した値と観察された値の間に矛盾が発生した場合は、潜在的な原因を調査することが重要です。この問題を詳しく調べてみると次のとおりです:

元のコードと動作:

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

実行すると、このコードは php.ini にもかかわらず「2M, 8M」を出力します。設定は次のとおりです:

upload_max_filesize = 10M
post_max_size = 10M

可能性原因:

  1. 短縮表記:
    PHP では、構成値の短縮表記の使用は PHP.ini 自体に制限されています。 PHP.ini の外部でこの表記を使用して値を設定しようとすると、デフォルト値へのフォールバックなど、予期しない動作が発生する可能性があります。
  2. サポートされていない設定:
    upload_max_filesize は PHP_INI_PERDIR 設定であると報告されています。つまり、ini_set() を使用して変更することはできません。 PHP ディレクティブの公式リストでこれが確認されています。

解決策:

  • PHP.ini に、upload_max_filesize と post_max_size の正しい値が含まれていることを確認してください。
  • これらの値を設定する場合は、省略表記ではなく数値を使用してください。 PHP.ini.
  • PHP.ini を変更した後、Web サーバー (Apache など) を再起動して、変更が確実に有効になるようにします。

これらの修正が行われると、コードに反映されるはずです。予想される動作を実現し、指定された制限までファイルのアップロードを許可します。

以上がPHP `ini_set('upload_max_filesize')` が期待どおりに動作しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。