![]() |
Как уменьшить время работы php скрипта?
Есть php скрипт, производит выборку по заданным условиям из текстовых файлов другого сервера и выводит результат на экран. Из-за большого количества обрабатываемых файлов скрипт вываливается с ошибкой Fatal error: Maximum execution time of 30 seconds exceeded in. Хостер не поддался на просьбу снять для этого скрипта ограничение на время выполнения.
В связи с этим встал вопрос: как обойти это ограничение средствами php? Имена обрабатываемых фалов генерируются в этом же самом скрипте. |
а может есть способ сделать так чтобы он работал меньше 30с ?
|
никакой хостер такого грузилова не потерпит, придется менять логику скрипта...
|
Vlad Drakula, да я обеими руками за, если такое удастся, вопрос в том, как это сделать.
Sham, Знать бы как, в php не силён, постепенно разбираюсь при необходимости сделать что-то новенькое и при наличии времени на это... В общем, как сейчас работает скрипт: получает данные из формы (что искать и диапазон дат), из конечной даты формируем имя файла в котором искать, ищем строчку с элементом, удовлетворяющим условию, если нашли выводим запись. Файл закончился, отнимаем день, из полученной даты формируем новое имя файла. Ищем. И так до тех пор, пока не дойдём до начальной даты. Большей частью затягивания времени выполнения скрипта является то, что файлы находятся на другом серваке. При тестировании локально на Денвере скрипт выполнялся быстрее на машине гораздо слабее, но с более быстрым интернетом. |
buhanov,
а по условию нужно все проделывать on-line, в режиме реального времени перед пользователем? Если нет, то самое правильное получить от него задание и закончить работу с ним, а потом "на досуге" засосать нужные файлы с другого сервера и потом уже спокойно с ними разбираться. (Или, наоборот, периодически подсасывать нужные файлы и, таким образом, зеркалить все нужное у себя, а по запросу разбираться уже с файлами на своем сервере) |
Надо соединить файлы и скрипт. Либо там, либо здесь.
|
Время: 09:45. |
Время: 09:45.
© OSzone.net 2001-