PHP 致命的エラーの解決方法: 許容メモリ サイズ X バイトが使い果たされました (Y バイトを割り当てようとしました)
PHP 開発を使用するプロセスで、私たちはよく遭遇します。このエラー: PHP 致命的エラー: 許可されたメモリ サイズ X バイトが使い果たされました (Y バイトを割り当てようとしました)。このエラーは通常、コード内のメモリ リソースの使用量が多すぎることが原因で発生します。この記事では、この問題を解決するためのいくつかの方法を紹介します。
このエラー メッセージに表示される X は、現在の PHP 環境のメモリ制限です。php.ini を変更することでメモリ制限を増やすことができます。 。まず、php.ini 構成ファイルを見つけて、次の 2 行を見つけます。
memory_limit = XM
その中の XM を、128M や 256M などのより大きな値に変更します。ファイルを保存した後、Web サーバーを再起動して有効にします。
コードでは、メモリ使用量の削減を試みる必要があります。コードを最適化する方法は次のとおりです:
グローバル変数の使用を避ける: グローバル変数は常にメモリを占有します。ローカル変数を使用するか、関数パラメータとして変数を渡すことができます。
大規模な配列またはオブジェクトの使用を避ける: 大量のデータを処理する場合は、イテレータまたはジェネレータを使用してメモリ使用量を削減するようにしてください。
使用されなくなったリソースを解放する: コード内で使用されなくなった変数、オブジェクト、または逆参照を適時に解放し、PHP のガベージ コレクション メカニズムが適時にメモリを解放できるようにします。
キャッシュを使用すると、メモリの消費量が削減され、コードの実行効率が向上します。キャッシュの使用方法は次のとおりです。
キャッシュ関数を使用する: PHP には、apc_store()
、apc_fetch()# など、キャッシュに使用できる関数が多数あります。 ## および
file_get_contents() など。
$page = $_GET['page']; // 获取当前页码 $pageSize = 10; // 每页显示的数据量 $offset = ($page - 1) * $pageSize; // 计算偏移量 $sql = "SELECT * FROM `table` LIMIT $offset, $pageSize"; // 构建SQL查询语句 // 执行查询并处理结果 $result = mysqli_query($conn, $sql); while ($row = mysqli_fetch_assoc($result)) { // 处理每一行数据 }ページング処理では、現在のページ番号に必要なデータのみが処理されるため、メモリの消費量を削減できます。 概要PHP 致命的エラー: 許容メモリ サイズ X バイトが使い果たされました (Y バイトを割り当てようとしました) エラーが発生した場合は、まずメモリ制限を増やしてからコードを最適化し、キャッシュやページング、その他の方法を使用してメモリ使用量を削減します。これらの方法は、メモリ オーバーフローの問題を解決し、コードが正常に動作するようにするのに役立ちます。
以上がPHP の致命的なエラー: 許可されたメモリ サイズ X バイトが使い果たされました (Y バイトを割り当てようとしました)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。