ホームページ  >  記事  >  バックエンド開発  >  PHP のメモリ制限が CLI と Web サーバーで異なるのはなぜですか?

PHP のメモリ制限が CLI と Web サーバーで異なるのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-07 06:12:02471ブラウズ

Why Does PHP's Memory Limit Differ Between CLI and Webserver?

「許可されたメモリ サイズ X バイトが使い果たされました」エラーを解決します

エラー メッセージ「致命的なエラー: 許可されたメモリ サイズ 67108864 バイト」の調査中使い果たされました」と表示されると、PHPEcho によって報告されるメモリ制限と実際に使用可能なメモリとの間に不一致があることに気づくかもしれません。これは、PHP の設定が次のようなさまざまな場所で設定できるためです。

  • システム全体の php.ini ファイル
  • Apache 設定ファイル (.conf)
  • CLIまたは CGI 固有の php.ini ファイル
  • ローカル .htaccess ファイル
  • スクリプト内 (ini_set() 経由)

PHPInfo の出力の「マスター」表示される値はデフォルトのコンパイル済みメモリ制限を表し、「ローカル」値は実際のアクティブなメモリ制限を反映します。これは、前述のいずれかの場所でオーバーライドできます。

さらに、PHP はコマンドラインと Web サーバーベースの操作を区別します。コマンドラインから phpinfo() を実行すると、Web ベースのスクリプト内で実行した場合とは異なるメモリ制限値が生成される場合があります。

メモリ枯渇エラーを解決するには、該当する構成で競合するメモリ制限設定を特定して変更します。ファイルまたは PHP スクリプト。これは、php -i | を使用して確認できます。 grepmemory_limit コマンドを使用して CLI 設定を表示します。

以上がPHP のメモリ制限が CLI と Web サーバーで異なるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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