Отладка PHP под Apache на CentOS 5.9
После обновления установки vBulletin доступ к любой странице говорит мне, что файлы отсутствуют - даже если они существуют в файловой системе.
Основываясь на других вопросах, которые я нашел здесь, я попытался изменить права доступа к файлам безрезультатно, изменив директиву журнала ошибок и php.ini, и изменил владельца файлов, к которым он пытается получить доступ.
Ничто из того, что я делаю, не дает мне информативного сообщения об ошибке. Запуск сценариев из командной строки не дает мне тех же ошибок, так что это не помогает.
Есть ли способ выполнить файл php из командной строки, как если бы он работал под Apache? Я надеюсь, что это может привести к более информативным ошибкам.
РЕДАКТИРОВАТЬ: это была проблема с разрешениями на каталог. include /datastore было 644 вместо 755.
... до сих пор не знаю, как получить информативные сообщения об ошибках php.:(
2 ответа
"Есть ли способ выполнить php-файл из командной строки, как если бы он работал под Apache?"
Либо вы можете запустить скрипт php из командной строки, используя php cli, например:
php /path/to/myscript
Но он не выполнит его "как будто он работает под Apache".
Либо вы можете вызвать страницу из командной строки, используя curl или wget, но это не будет полезно для отладки.
Вы можете выполнить php из командной строки с помощью команды php. Например:
php -q /var/www/html/call.php
Вы можете увидеть выходные данные var_dump и echo или, если ваш php предназначен для интерактивного взаимодействия с пользователем (ansi), взаимодействуйте с приложением.