скрипт внезапно завершает работу на связке двух функций, без ошибок

Klaus

SEO Cthulhu
скрипт внезапно завершает работу на связке двух функций, без ошибок

В двух словах звучит так (я сам понимаю что это абсурд):
преобразовав какую-то сущность (html_entity_decode), php движок заставляет preg_replace работать как exit()
причем завершает работу корректно, процесс не остается висеть.

PHP:
<?
ob_implicit_flush();
error_reporting(E_ALL);
for($i=0;$i<250;$i++) echo "<!-- -->";
echo $blabla; // здесь ошибка, чтобы вам было видно, что ошибки отображаются
echo "line " . __LINE__ . "<br>";  // строка 6
$var = file_get_contents("test.txt");
echo "line " . __LINE__ . "<br>";  // строка 8
$var = html_entity_decode($var);
echo "line " . __LINE__ . "<br>"; // строка 10
$var = preg_replace("/^.+?(\<body.+?\/body\>).+?$/is", "$1", $var);
echo "line " . __LINE__ . "<br>"; // строка 12

echo "<pre><xmp>"; print_r($var); echo "</xmp></pre>";
?>
Читаем txt файл в строку, и пытаемся проделать некоторые манипуляции.
Скрипт завершает работу на строке 11, не проделав и половины необходимого, и без каких либо ошибок.
Mесто, где скрипт падает, а точнее причину, НЕ обнаружить, т.к. любая манипуляция(редактирование) с txt файлом приводит к тому, что скрипт нормально работает.
Также скрипт работает если сделать trim или не делать html_entity_decode.
Помогите братцы разобраться в этом бедламе.
Собсно интересует только причина завершения работы скрипта на preg_replace БЕЗ каких либо ошибок.
Дабы не попасть впросак в будущем.
Про тхт файл могу сказать только, что в конце есть символ end_of_line (\00 видимо), но как я уже сказал, трудно понять в нем ли причина, т.к. любое редактирование файла приводит к работоспособности.

Наглядно можно протестировать здесь: здесь (ссылка)

P.S. PHP Version 5.0.4, Apache 2.0 Handler
P.P.S. ох и задал же он мне трепку, т.к. завершается без ошибки, и пришлось практически построчно искать где именно, а кода там на пару К строк.
 

Klaus

SEO Cthulhu
WP
поподробнее, пожалуйста, про >$1
соображалка уже не работает

архив тут (ссылка)

помоему при архивации или разархивации файл txt портится, во всяком случае у меня на локали после архива все работает.
можно скачать эту страницу здесь (ссылка) , я качал сокетами, т.е. в неизменном виде, т.к. курлом или file_get_contents придет в изменённом виде.
на локали у меня PHP Version 4.4.0 и ситуация такая же

и вообще, нет наверное смысла пытаться повторить эксперимент
просто надеюсь мож кто сталкивался с тем, что на переходе с html_entity_decode на preg_replace скрипт завершал работу без ошибки, и мог бы сказать мол так и так, дело вот в чем....
я-то конечно еще покопаюсь в баг репортах, токо чуть позже, устал уже
 

WP

^_^
Apache/1.3.33 (Win32) PHP/5.2.0:
Код:
Notice: Undefined variable: blabla in test.php on line 5
line 6
line 8
line 10
line 12

&lt;body&gt;
  &lt;p&gt;&lt;a HREF="software.html"&gt;programs for free&lt;/a&gt; &lt;br&gt;
  &lt;a HREF="software.html"&gt;software for sale&lt;/a&gt; &lt;br&gt;
  &lt;a HREF="contact.html"&gt;contact programs (software) developer&lt;/a&gt; &lt;br&gt;
 Variaty of programs, shareware and freeware.  PDF2DOC which allows you to extract contents of PDF file (Adobe Acrobat) to DOC file (Microsoft Word), 
 in other words it allows you to convert PDF to DOC.  Another program is MP3 Tools Professional, which works with MP3 files and you can split mp3, 
 join mp3, sort mp3, find duplicates of mp3, encode mp3 and decode mp3, and many other tools for your mp3 collection.  Auto Mouse, which in other words is a 
 mouse clicker or cursor clicked, automated computer use and automated mouse mover.  Record mouse position and play back what you recorded.  Play games like 
 POGO and do other useful tasks with AutoMouse.  FOREX Analyzer is the newest title.  Foreign exchange market analysis program.  FOREX tips or forex hints, program 
 provides forex signals and gives you accurate sell signals and buy signals.  Great investment opportunity with low risk and high profit.  Foreign exchange analyzer can also do 
 it automatically while you're away or sleeping,  making you easy money.  There are numerous of other free titles, like fake emailer to sand anonymous e-mail, America Online Instant Messenger 
 (AIM) tools and plug-ins,  mIRC for IRC network and java applets supporting IRC just like AIM can write in color, fade colors, randomize colors and randomize fonts, and other misc 
 programs random wallpaper (wallpaper changer), etc.  If you have any questions, you can contact me via contact page and I'll be glad to help out.  Dmitri Kisten (DIMSOFT, designer and developer.). &lt;/p&gt;
&lt;/body&gt;
 

Klaus

SEO Cthulhu
угу, после архива работает
я уже отписал по этому поводу
исправить-то не проблема, trim достаточно, просто хочу понять, warum?

если нужно с var_dump, то здесь (ссылка)
 

WP

^_^
Не врубаюсь, честно.
При чем здесь архив. Архив перемещает файлы точь в точь как они у тебя на харде, и записывает контрольную сумму для проверки целостности.
Ты мне дай в архиве тот скрипт который "внезапно завершает работу", я его отдебажу и тогда будем разговаривать. А пока я ничего не увидел.
 

Klaus

SEO Cthulhu
хех, кабы я еще врубался... :(
Cкрипт у тебя есть, этот же, что и на странице.
Файл тхт, что в ссылке, именно тот, с которым работает скрипт.
Как я уже говорил, при любой манипуляции с файлом, как то редактирование, архивация etc. скрипт сразу работает.
Чтобы получить девственно чистый файл, надо его запросить сокетом здесь http://www.dimsoft.com/ , т.к. курлом и file_get_contents получаем иное.

Поэтому я и здесь, и спрашиваю совета, потому как мне самому непонятно в чем собака порылась. При любых иных данных я бы и сам разобрался.

-~{}~ 07.03.07 14:07:

вот смотри всю абсурдность ситуации:
нонсенс

-~{}~ 07.03.07 14:13:

т.е. преобразовав какую-то сущность, скрипт заставляет preg_replace работать как exit();
ну не идиотизм?

-~{}~ 07.03.07 14:17:

причем завершает работу корректно, процесс не остается висеть.
 

Klaus

SEO Cthulhu
на локали у меня PHP Version 4.4.0
и ситуэйшен один в один.
хотя версия тоже старая конечно.

обновлюсь сегодня

-~{}~ 13.03.07 00:57:

обновился до 5.0.5, глюк сразу пропал...
при этом во всех репозитариях rpm-ки для FC4 есть только 5.0.4.
5.0.5 нашел только в тестовом варианте,
все более свежие версии php требуют новых библиотек, а те в свою очередь требуют обновления ядра оси, что не есть гут.

если вдруг кто-то случайно (или целенаправленно) напорется на подобный баг, и разберет по полочкам (случайно или целенаправленно), то прошу сообщить в этой ветке, что за сущность (возможно порядок символов) приводит к таким резалтам.
 

Breeze

goshogun
Команда форума
Партнер клуба
все более свежие версии php требуют новых библиотек, а те в свою очередь требуют обновления ядра оси, что не есть гут.
вот только не надо сказки рассказывать, да
 

Klaus

SEO Cthulhu
противник сказок? :)

имелось ввиду конкретно FC4, а новые либы требуют как минимум FC6

-~{}~ 13.03.07 16:53:

гы.. репозитАриях :)
репозитОриях конечно
 
Сверху