PHPスクリプトを実行するとエラーが発生します....
Fatal error: Out of memory (allocated 1827405824) (tried to allocate 88800 bytes)
この行を PHP スクリプトに追加しました。
ini_set("memory_limit","3000M");
このステートメントはメモリ使用量を正しく制御しているように見えますが、約 1.8GB を超えることはできないようです。メモリの上限が別の場所で制限されているかのようです。php.iniにも追加しました...
memory_limit = 3000M
メモリが他の場所で制限されているかどうかは誰にもわかりませんか?
Xamppでローカルサーバーを実行しています。Windows 7、64 ビット、4 GB 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 必要であると見積もっています。