Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> preg_match не работает с большими тестами 
:(
    Опции темы
Dweep
Дата 20.3.2012, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 1.11.2005

Репутация: нет
Всего: нет



Я в своих программах довольно часто использую следующую кострукцию 
preg_match('#(<a((?!</a>).)*)dozz</a>#i', $html)) 

где запись ((?!</a>).)*) означает любой набор символов, кроме последовательности </a>


Раньше все работало. 
Теперь переставил виндовс (с XP-32 перешел на XP-64 ) и переставил апач(сейчас стоит PHP Version 5.3.8, что стояло раньше - не помню).

В php.ini поставил pcre.backtrack_limit=10000000 и pcre.recursion_limit=10000000

На следующих входных данных:
Код

$html = '<a href=ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd>dozz</a>

';
echo strlen($html);33";
if (preg_match('#(<a((?!</a>|22222).)*)dozz</a>#i', $html)) {
    echo "+";

}  else {
    echo "-";

}




пример не работает. Браузер показывает что страница не найдена.  Если длина входной строки менее 317 символов - то работает коректно. Если более - то тоже не работает. 
Что и как мне настроить/переустановить, что б заработали подобные регулярные выражения в многочисленных файлах на моем компьютере ? 






 
PM MAIL   Вверх
skyboy
Дата 20.3.2012, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



в error.log что?
PM MAIL   Вверх
Dweep
Дата 21.3.2012, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 1.11.2005

Репутация: нет
Всего: нет



[Wed Mar 21 09:50:48 2012] [notice] Digest: generating secret for digest authentication ...
[Wed Mar 21 09:50:48 2012] [notice] Digest: done
[Wed Mar 21 09:50:48 2012] [notice] Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 configured -- resuming normal operations
[Wed Mar 21 09:50:48 2012] [notice] Server built: Sep 10 2011 11:34:11
[Wed Mar 21 09:50:48 2012] [notice] Parent: Created child process 3268
[Wed Mar 21 09:50:49 2012] [notice] Digest: generating secret for digest authentication ...
[Wed Mar 21 09:50:49 2012] [notice] Digest: done
[Wed Mar 21 09:50:49 2012] [notice] Child 3268: Child process is running
[Wed Mar 21 09:50:49 2012] [notice] Child 3268: Acquired the start mutex.
[Wed Mar 21 09:50:49 2012] [notice] Child 3268: Starting 150 worker threads.
[Wed Mar 21 09:50:49 2012] [notice] Child 3268: Starting thread to listen on port 443.
[Wed Mar 21 09:50:49 2012] [notice] Child 3268: Starting thread to listen on port 80.
[Wed Mar 21 09:50:58 2012] [notice] Parent: child process exited with status 128 -- Restarting.
[Wed Mar 21 09:50:58 2012] [notice] Digest: generating secret for digest authentication ...
[Wed Mar 21 09:50:58 2012] [notice] Digest: done
[Wed Mar 21 09:50:58 2012] [notice] Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 configured -- resuming normal operations
[Wed Mar 21 09:50:58 2012] [notice] Server built: Sep 10 2011 11:34:11
[Wed Mar 21 09:50:58 2012] [notice] Parent: Created child process 1912
[Wed Mar 21 09:50:59 2012] [notice] Digest: generating secret for digest authentication ...
[Wed Mar 21 09:50:59 2012] [notice] Digest: done
[Wed Mar 21 09:50:59 2012] [notice] Child 1912: Child process is running
[Wed Mar 21 09:50:59 2012] [notice] Child 1912: Acquired the start mutex.
[Wed Mar 21 09:50:59 2012] [notice] Child 1912: Starting 150 worker threads.
[Wed Mar 21 09:50:59 2012] [notice] Child 1912: Starting thread to listen on port 443.
[Wed Mar 21 09:50:59 2012] [notice] Child 1912: Starting thread to listen on port 80.
[Wed Mar 21 09:50:59 2012] [notice] Parent: child process exited with status 128 -- Restarting.
[Wed Mar 21 09:50:59 2012] [notice] Digest: generating secret for digest authentication ...
[Wed Mar 21 09:50:59 2012] [notice] Digest: done
[Wed Mar 21 09:50:59 2012] [notice] Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 configured -- resuming normal operations
[Wed Mar 21 09:50:59 2012] [notice] Server built: Sep 10 2011 11:34:11
[Wed Mar 21 09:50:59 2012] [notice] Parent: Created child process 4360
[Wed Mar 21 09:51:00 2012] [notice] Digest: generating secret for digest authentication ...
[Wed Mar 21 09:51:00 2012] [notice] Digest: done
[Wed Mar 21 09:51:00 2012] [notice] Child 4360: Child process is running
[Wed Mar 21 09:51:00 2012] [notice] Child 4360: Acquired the start mutex.
[Wed Mar 21 09:51:00 2012] [notice] Child 4360: Starting 150 worker threads.
[Wed Mar 21 09:51:00 2012] [notice] Child 4360: Starting thread to listen on port 443.
[Wed Mar 21 09:51:00 2012] [notice] Child 4360: Starting thread to listen on port 80.

PM MAIL   Вверх
skyboy
Дата 21.3.2012, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



хм. может, это браузер так сообщает о том, что таймаут вышел?
PM MAIL   Вверх
Dweep
Дата 21.3.2012, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 1.11.2005

Репутация: нет
Всего: нет



От момента запуска программы и до того как браузер сообщит что страница не найдена проходит пару секунд.
Тестировал на браузерах: хром, опера, фаерфокс.

В моем примере естть строчка  с некоректным синтаксисом: echo  strlen($html);33";     , текст 33";  в ней не нужен, я его по ошибке на форум свтавил.

Это сообщение отредактировал(а) Dweep - 21.3.2012, 11:11
PM MAIL   Вверх
Dweep
Дата 21.3.2012, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 1.11.2005

Репутация: нет
Всего: нет



Установил xampplite-win32-1.7.3 ( до этогого стояло xampp-win32-1.7.7), заработало. Получается версии новые выпускают, а лучше не стает ( 
PM MAIL   Вверх
skyboy
Дата 21.3.2012, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



странно.
если какая-то ошибка, то должны быть следы в error.log…  smile 
PM MAIL   Вверх
ksnk
Дата 21.3.2012, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(skyboy @  21.3.2012,  12:55 Найти цитируемый пост)
если какая-то ошибка, то должны быть следы в error.log…

Там и есть следы. Рестарт апача неоднократный  smile

Добавлено через 29 секунд
Цитата

Parent: child process exited with status 128 -- Restarting.



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0756 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.