メモリ制限を増やしてエラーを取り除き、コードが機能するようになった場合は、そのメモリ使用量を減らすための対策を講じる必要があります。それを減らすためにあなたができることがいくつかあります:
ファイルを読み込む場合は、ファイル全体をメモリに読み込むのではなく、1 行ずつ読み込みます。fgets と SplFileObject::fgets を見てください。PHP 5.3 を使用している場合は、新しいバージョンの PHP にアップグレードします。PHP 5.4 および 5.5 は、はるかに少ないメモリを使用します。
大規模なデータセットを配列にロードすることは避けてください。代わりに、より大きなデータセットの小さなサブセットを処理し、必要に応じてデータをデータベースに保存してメモリの使用を軽減します。
サードパーティ製ライブラリの最新バージョンまたはマイナー バージョン (たとえば、1.9.3 と 1.8.2 の比較) を試して、より安定した方を使用してください。ライブラリの新しいバージョンの方が効率的に記述される場合があります。
珍しいまたは不安定な PHP 拡張機能がある場合は、アップグレードしてみてください。メモリ リークが発生している可能性があります。
大きなファイルを扱っていて、単純に 1 行ずつ読み取ることができない場合は、ファイルを多数の小さなファイルに分割し、それらを個別に処理してみてください。不要な PHP 拡張機能を無効にします。
問題の領域で、大量のデータを含み、コードの後半で必要とされない変数の設定を解除します。
FROM: https://www.airpair.com/php/fatal-error-allowed-memory-size