Задать вопрос

Как узнать сколько памяти нужно будет на выполнение скрипта?

Работаю с либой PHPExcel, должна записать очень много данных, пол миллиона (или может больше). На время скрипта выделил memory limit 3 ГБ, скрипт 3 часа был запущен, по итогу сказал:
PHP Fatal error: Allowed memory size of 3221225472 bytes exhausted (tried to allocate 32 bytes)

Как мне понять, сколько памяти я должен отдать этому скрипту?
  • Вопрос задан
  • 350 просмотров
Подписаться 3 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
Запускайте скрипт по ajax событию, частями.
Пусть работает так:
При заходе на страницу кнопка "старт"
после ее нажатия скрипт стартует, отправляя ajax запрос, после каждой 1000 строк например, возвращайте результат ему снова, а он пусть снова запускает, только уже со строки 1001
Ответ написан
@eandr_67
web-программист (*AMP, Go, JavaScript, вёрстка).
После каждой тысячи строк сохраняй кол-во строк, прошедшее время и значения функций memory_get_usage и memory_get_peak_usage. А потом по этим данным строй графики - сможешь по ним оценить и примерный объём памяти, и примерное же время работы...

P.S. Намного быстрее и проще сохранять данные в CSV.
Ответ написан
Комментировать
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Перепишите на https://github.com/box/spout
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽