web-dev-qa-db-ja.com

134217728バイトの許容メモリサイズを使い果たしました(42バイトを割り当てようとしました)

私はクエリごとに0.2m以上の行を返すmysqlテーブルからレコードを取得していますが、明らかに多くのメモリを消費します。私の場合、8 GBがインストールされていますRAM。ページを実行すると、次のエラーが返されます。

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 42 bytes) in D:\xampp\htdocs\classes\CRUD.php on line 84   

テーブル行のPHPループの代わりにスレッドを使用する必要があると思いますか?たぶん私は間違っています。任意の提案/助けをいただければ幸いです。

9
Abdul Rahman

デフォルトのphp.ini memory_limitは128 MBです。次のいずれかを行う必要があります。

  • 通常のデータ量を使用するようにコードを最適化します
  • php.iniのmemory_limitをより高い値に変更しますが、これはまったくお勧めしません-あなたのアプローチで、もう一度この壁にぶつかります
11
Maciej Asembler

次のコード行を使用して、ファイル内からメモリを拡張できます。

ini_set('memory_limit','16M');

このコードをファイルの先頭に追加し、16Mを変更して必要なものを追加します。

7
Tom Cash