Я отбираю объекты недвижимости из Совета по недвижимости Торонто, и я использую стек LAMP с PHRETS на 2 ГБ Digital Ocean VPS. Когда я извлекаю свойства, я запускаю над ними некоторые процессы, прежде чем сохранять их в базе данных. У меня есть задание cron, которое запускает скрипт каждый час. Иногда сценарий работает без сбоев. В других случаях я получаю эту ошибку, часто в течение первой минуты:
PHP Fatal error: Out of memory (allocated 131076096) (tried to allocate 12288 bytes) in /var/www/mysite.com/vendor/joshcam/mysqli-database-class/MysqliDb.php on line 1511
Я обновил свой php.ini
файл с memory_limit = 1500M
Я новичок во всем этом, но у меня сложилось впечатление, что это должно позволить сценарию выделить 1500 МБ или 1,5 ГБ памяти.
Кажется, что ошибка говорит о том, что скрипт пытался выделить 12288 bytes
возможного 131076096 bytes
, но это не складывается, не так ли? Как я могу это исправить? Нужно ли мне обновлять сервер или 2 ГБ оперативной памяти должно быть достаточно? Что-то мне не хватает?
Я обновил свой файл php.ini на
memory_allowed = 1500M
Есть нет такой настройки. Настройка называется memory_limit
. Обязательно перезапустите свой веб-сервер (или PHP-FPM, если вы его используете) после внесения изменений.
Ваше предупреждение PHP означает, что ваш скрипт попытался выделить 12288 выше разрешенный максимум (по умолчанию 128 МБ).
Вы можете поднять максимум по умолчанию, но нужно быть осторожным, чтобы не было превышения доступности памяти.