可能性のある複製:
Xバイトの許容メモリサイズが使い果たされました
私はかなり大きなデータベース(87mb)のインポートを処理しており、そのためにphpスクリプトを使用しています。すべての操作は、Ubuntu LucidにApacheがインストールされたロケールで行われます。
数分後にスクリプトを実行すると、次のエラーが表示されます。
_Allowed memory size of 268435456 bytes exhausted
_
Php.iniファイルで_memory_limit
_を2GBに変更し、Apacheを再起動しました。その後、phpinfo()
を確認しましたが、_memory_limit
_が「2048M」に設定されているため、すべて問題ありません。
しかし、スクリプトを再起動すると、同じエラーが表示され、256 MBのメモリ制限に達しました。
どこが間違っているのですか?
使用しているスクリプトが他の人から借用したものである場合は、php.iniで行った変更にもかかわらず、正確に表示されるini_set('memory_limit', '256M')
がないことを確認してください。
Ubuntuには、Apache用とcli用の2つのphp.iniがあります。
正しいものを編集しましたか?
コマンドライン用のものは通常/etc/php5/cli/php.ini
。
おそらく間違ったphp.iniが使用されています。
同じphpinfo()
- s出力で、どのファイルが正確に使用されているかを確認し、「構成ファイル」を検索できます。
使用する実際のスクリプトからphpinfo()
関数を呼び出して、スクリプトの設定を正確に取得することができます(異なる仮想ホスト、パスなどに異なる設定を使用できます)。