Я получаю сообщение об ошибке при запуске моего PHP script....
Fatal error: Out of memory (allocated 1827405824) (tried to allocate 88800 bytes)
Я добавил эту строку в свой PHP script..
ini_set("memory_limit","3000M");
Этот оператор действительно правильно контролирует использование памяти, но я, похоже, не могу получить его выше примерно 1,8 ГБ. Как будто верхний предел памяти ограничивается где-то еще. Я также добавил в php.ini...
memory_limit = 3000M
Кто-нибудь знает, ограничена ли память в другом месте?
Я запускаю локальный сервер с Xampp. У меня Windows 7, 64-бит с 4 ГБ оперативной памяти. Мой script использует библиотеку изображений PHP GD, и я получаю ошибку при попытке выделить ссылку на изображение с помощью ImageCreateTrueColor().
(Я знаю, что это огромный объем памяти, но это всего лишь один из script, и его гораздо проще сделать так).
Спасибо.
Update....
@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.7 ГБ