Size: a a a

2020 July 20

a

anton in phpGeeks
вплоть до такого
источник

ЮК

Юсуп Катиев... in phpGeeks
запускаешь скрипт на локалке или серваке?
источник

a

anton in phpGeeks
на локалке
источник

ЮК

Юсуп Катиев... in phpGeeks
У меня такой вопрос решался когда тупо менял конфиг, есть еще вариант подправить конфиг веб-сервера
источник

🦔

🦔 in phpGeeks
anton
всем привет, есть вопрос. кароче мне надо обработать цсв, раньше никогда проблем не возникало с этим, но сейчас что то я в смятении. Есть 4 цсв файла, они все разного обьема, в каждом из них +- 100к записей ориентировочно. Я прогоняюсь line by line по файлу и делаю str_getcsv потом уже там небольшое условие по отбору происходит и заношу в массив это все. У меня валится код на 3-ем цсв
Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 4096 bytes)
ругается оно на str_getcsv. В чем дело не понимаю. Может быть буфер какой то засерается?
https://pastebin.com/hf1hTj0k
зачем класть в массив? почему сразу не обработать и не отдать память?
источник

a

anton in phpGeeks
🦔
зачем класть в массив? почему сразу не обработать и не отдать память?
так нужно, мне потом нужно разбить все на чанки и сделать транзакции в бд
источник

a

anton in phpGeeks
там + ко всему еще надо преобразовывать инфу
источник

a

anton in phpGeeks
муторно, проще записать в массив только те, что мне надо и потом уже с ними отдельно работать
источник

🦔

🦔 in phpGeeks
anton
муторно, проще записать в массив только те, что мне надо и потом уже с ними отдельно работать
даже память найдётся сегодня, завтра её все равно может не хватить
источник

a

anton in phpGeeks
скрипт будет запускаться раз в год, поэтому как то не проблема
источник

a

anton in phpGeeks
Юсуп Катиев
У меня такой вопрос решался когда тупо менял конфиг, есть еще вариант подправить конфиг веб-сервера
чет не вылечило
источник

ЮК

Юсуп Катиев... in phpGeeks
anton
чет не вылечило
А если вот так ini_set('memory_limit', '-1'); так конечно нельзя делать, но просто посмотри сработает
источник

a

anton in phpGeeks
😳
источник

ЮК

Юсуп Катиев... in phpGeeks
Это прост снимает лимит на память
источник

a

anton in phpGeeks
Юсуп Катиев
А если вот так ini_set('memory_limit', '-1'); так конечно нельзя делать, но просто посмотри сработает
темная магия сработала)
источник

a

anton in phpGeeks
только вот я ошибся, там в двух последних цсв(на которых и падал код) ОТСЕЯННЫХ вышло по 680к записей, а не отсеянных там наверное х2
источник

a

anton in phpGeeks
но не суть)
источник

ЮК

Юсуп Катиев... in phpGeeks
На самом деле лучше найти другой вариант, потому такой вариант небезопасен, и если у тебя будет обычный хостинг там тебе тем более не дадут менять конфиг
источник

a

anton in phpGeeks
это не будет лежать на хостинге
источник

a

anton in phpGeeks
это чисто на локалке запустить, подготовить инфу, залить в бд и слить дамп с нее
источник