Дело в следующем: после обновления сервера(FreBSD 4.11) до apache 2.0.55 и php 4.4.1 произошло следующее:
главная страница сервера открывается нормально, потом при запросе
страницы требующем преобразования модулем mod_rewrite
например http://www.server.ru/rus/news/ которое должно
преобразоваться в http://www.server.ru/index.php?lang=rus&link=news
вываливаеся пустая страница и в логе апача ошибка
PHP Warning: main(include/mysql.php): failed to open stream: No such file or directory in usr/local/www/data/server.ru/MySql.php on line 10
PHP Fatal error: main(): Failed opening required 'include/mysql.php' (include_path='.:') in /usr/local/www/data/server.ru/MySql.php on line 10
т.е. нету файла include/mysql.php хотя он присутствует, что
подтверждается тем, что главная страница открывается и если запросить
напрямую http://www.server.ru/index.php?lang=rus&link=news то тоже
все работает. путем эксперементов выяснилось, что после преобразования
mod_rewrite и вызова http://www.server.ru/index.php?lang=rus&link=news текущая директория меняется с /usr/local/www/data/server.ru на неизвестно
что... и там относительный путь include/mysql.php не
существует. Более того, в этой директории вообще ничего нет, кроме
самой себя (".") нету даже "..". При том, что в обычной ситуации отсутствия файла запись в логе другая - выше означенный PHP Fatal error отсутствует...Не сталкивались ли вы с такой ситуацией, и не подскажете ли пути выхода из нее?
Заранее спасибо.
>Дело в следующем: после обновления сервера(FreBSD 4.11) до apache 2.0.55 и php
>4.4.1 произошло следующее:
>главная страница сервера открывается нормально, потом при запросе
>страницы требующем преобразования модулем mod_rewrite
>например http://www.server.ru/rus/news/ которое должно
>преобразоваться в http://www.server.ru/index.php?lang=rus&link=news
>вываливаеся пустая страница и в логе апача ошибка
>PHP Warning: main(include/mysql.php): failed to open stream: No such file or
>directory in usr/local/www/data/server.ru/MySql.php on line 10
>PHP Fatal error: main(): Failed opening required 'include/mysql.php' (include_path='.:') in /usr/local/www/data/server.ru/MySql.php
>on line 10
>т.е. нету файла include/mysql.php хотя он присутствует, что
>подтверждается тем, что главная страница открывается и если запросить
>напрямую http://www.server.ru/index.php?lang=rus&link=news то тоже
>все работает. путем эксперементов выяснилось, что после преобразования
>mod_rewrite и вызова http://www.server.ru/index.php?lang=rus&link=news текущая директория меняется с /usr/local/www/data/server.ru на неизвестно
>
>что... и там относительный путь include/mysql.php не
>существует. Более того, в этой директории вообще ничего нет, кроме
>самой себя (".") нету даже "..". При том, что в обычной ситуации
>отсутствия файла запись в логе другая - выше означенный PHP Fatal
>error отсутствует...
>
>Не сталкивались ли вы с такой ситуацией, и не подскажете ли пути
>выхода из нее?
>Заранее спасибо.
где-то мне попадалось описание подобного бага - апач менял текущую директорию PHP на что-то свое... лечилось просто добавление в скрипты<? chdir("/path/to/right/directory/"); ?>
>где-то мне попадалось описание подобного бага - апач менял текущую директорию PHP
>на что-то свое... лечилось просто добавление в скрипты
>
><? chdir("/path/to/right/directory/"); ?>Вообще говоря не помогает. Судя по html в броузере, в нерабочем случае при попытке каких либо файловых (в том числе и chdir) операций апач просто обрывает свой вывод не доходя до конца хтмл файла, хотя в access логах судя по счетчику отданых байт - все в порядке, error лог пуст. вывод phpinfo() не отличается в рабочем и не рабочем случае.
Поправка: и без файловых операций апач прерывает вывод... И вывод phpinfo в нерабочем случае иногда обрывается ближе к концу...
>Дело в следующем: после обновления сервера(FreBSD 4.11) до apache 2.0.55 и php
>4.4.1 произошло следующее:
>главная страница сервера открывается нормально, потом при запросе
>страницы требующем преобразования модулем mod_rewrite
>например http://www.server.ru/rus/news/ которое должно
>преобразоваться в http://www.server.ru/index.php?lang=rus&link=news
>вываливаеся пустая страница и в логе апача ошибкаТочно такая же фигня:
http://servous.se/punbb/viewtopic.php?pid=1224#p1224
При чём - возникла после обновления именно PHP 4.4.0 => 4.4.1. Сам апач был и есть 2.0.55.
Похоже из той же серии. только решения пока нет :-(
http://bugs.php.net/bug.php?id=35186&thanks=6
Наконец родили. Тянем из CVS php4-STABLE-200511172154.