Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Лимиты в php
Форумы портала PHP.SU » » Если скрипт не работает » Лимиты в php

Страниц (1): [1]
 

1. alexandr_ftf - 21 Октября, 2013 - 19:07:14 - перейти к сообщению
Какие лимиты, проставленные в php.ini , или ещё где могут повлиять на то, что скрипт выполняется не полностью.
А именно:
есть txt файл, 16 тысяч строк. Каждая строка обрабатывается регулярным выражением. 3505 сток обрабатывается все, добавляшь следующую, скрипт не обрабатывает ни одну.
Время скрипта - 1сек, localhost

Всем заранее спасибо)
2. IllusionMH - 21 Октября, 2013 - 19:10:31 - перейти к сообщению
alexandr_ftf, время исполнения засекали? Так же вариант с доступной памятью расматривали.
3. alexandr_ftf - 21 Октября, 2013 - 19:25:55 - перейти к сообщению
IllusionMH
Время примерно секунда, две, думаю не принципиально.
memory_get_usage показавает на максимуме 2278952
Возможно ли, что регулярка переполняется?
4. OrmaJever - 21 Октября, 2013 - 19:40:06 - перейти к сообщению
Да не возможно, а так скорее всего и есть. Я понимаю что вы сам файл считываете целиком и затем ещё регуляркой его проходите, это страшные потери памяти.
5. IllusionMH - 21 Октября, 2013 - 19:43:22 - перейти к сообщению
alexandr_ftf, более простые регулярки пробовали? Или построчно читать?
6. alexandr_ftf - 22 Октября, 2013 - 12:42:29 - перейти к сообщению
более простые регулярки работаю лучше, но приводят к другим проблемам или возможно потенциально приведут (скорее не вариант)

по строкам нельзя
Огорчение
7. Мелкий - 22 Октября, 2013 - 12:53:16 - перейти к сообщению
alexandr_ftf пишет:
по строкам нельзя

alexandr_ftf пишет:
Каждая строка обрабатывается регулярным выражением

?
Т.е. не каждая строка обрабатывается регуляркой, а весь файл целиком разбирается регуляркой?
Тогда скорей всего в backtrack упёрлись: http://php.net/manual/en/pcre.configuration.php
8. alexandr_ftf - 22 Октября, 2013 - 12:59:51 - перейти к сообщению
Я, наверно, не корректно выразился.
Да обрабатывается целый файл.
(Добавление)
Мелкий
Спасибо, pcre.backtrack_limit помог.

Но:
- время скрипта увеличилось с 1,5 с до 4 с

При этом костыль, заключающийся в разделении текста увеличил всего до 2,5

 

Powered by ExBB FM 1.0 RC1