PHP/Apacheのメモリ上限 質問する

PHP/Apacheのメモリ上限 質問する

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

そしてメモリクラッシュの問題も解決しました。お役に立てれば幸いです

おすすめ記事