PHP スクリプトを実行するとエラーが発生します。
Fatal error: Out of memory (allocated 1827405824) (tried to allocate 88800 bytes)
この行を PHP スクリプトに追加しました。
ini_set("memory_limit","3000M");
このステートメントはメモリ使用量を正しく制御しているように見えますが、約 1.8 GB を超えることはできないようです。メモリの上限がどこか別の場所で制限されているようです。php.ini にも追加しました...
memory_limit = 3000M
メモリが他の場所で制限されているかどうか知っている人はいますか?
Xampp でローカル サーバーを実行しています。Windows 7、64 ビット、4GB RAM を使用しています。スクリプトでは PHP の GD 画像ライブラリを使用しているため、ImageCreateTrueColor() を使用して画像参照を割り当てようとするとエラーが発生します。
(これは膨大な量のメモリを必要とすることは承知していますが、これは単なる 1 回限りのスクリプトであり、この方法の方がはるかに簡単です。)
ありがとう。
アップデート....
@elusive @Orbling 皆さんこの質問に飽き飽きしていると思いますが、問題を説明する簡略化されたコードを以下に示します。
<?php
ini_set("memory_limit","4000000000");
echo "ini_get = " . ini_get('memory_limit') . "<br>\n";
echo "memory_get_usage = " . memory_get_usage(true) . "<br>\n";
$bigImageHandle = imagecreatetruecolor(22200, 24800); //this is line 5
?>
ブラウザ出力...
ini_get = 4000000000
memory_get_usage = 524288
Fatal error: Out of memory (allocated 1843396608) (tried to allocate 88800 bytes) in
E:\User\My_Webs\experiments\houseshunting\temp\osMaps\t1.php on line 5
私はこれをより小さなタイルのセットとimagecreatetruecolor()で使用されるメモリでテストしましたが、2.7GB必要だと推定しました。
ベストアンサー1
Acquia Dev Desktop を使用すると、メモリ制限によるクラッシュが頻繁に発生しました。
PHP.ini でメモリ制限を増やした後。
php_value memory_limit 1024M
php_value max_execution_time 3000
この問題はそれほど頻繁には発生していませんが、依然として発生しています (特に機能の再作成の場合)
httpd.confでStackThreadを16Mに増やしました
ThreadStackSize 16*1024*1024
そしてメモリクラッシュの問題も解決しました。お役に立てれば幸いです