2014-01-06 2 views
0

Я работаю с королевской почтовой базой PAF в формате csv (около 29 миллионов строк) и вам нужно разделить данные на sql-сервер, используя php.Импорт paf с использованием php

Может ли кто-нибудь рекомендовать лучший метод для предотвращения перерыва?

Вот образец данных: https://gist.github.com/anonymous/8278066

ответ

1

Чтобы отключить ограничение по времени выполнения сценария, запустите скрипт прочь с этим:

set_time_limit(0); 

Еще одна проблема, которую вы, вероятно, столкнетесь предел памяти , Убедитесь, что вы читаете файл по очереди или в кусках, а не весь файл за раз. Вы можете сделать это с помощью fgets().

+0

Я попытался с помощью установленного лимита времени и fgetcsv, но он по-прежнему затухал, есть ли большая разница между fgetcsv и fgets? –

+0

Ваш хост, вероятно, запретил вам использовать 'set_time_limit()'. Посмотрите, можете ли вы отредактировать запись файла PHP.ini для 'max_execution_time' или поговорить с вашим хостом, чтобы узнать, могут ли они разрешить вам использовать' set_time_limit() '. – Brad

0

Выполнить скрипт в командной строке, например, SSH и запустить:

pushd /path/to/directory/containing/script/

php script-name.php

Execution не таймаут при запуске из командной строки (в каждой конфигурации я сталкивался в любом случае)

Смежные вопросы