![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| V0fka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 5.11.2006 Где: Украина Репутация: нет Всего: нет |
Привет!
Есть заведомо синтаксически не верный скрипт: в конце одной строки пропущена точка с запятой. При попытке обратиться к скрипту, получаю ошибку 500. Манипуляции с
ничего не меняют и в браузере по прежнему ошибка. При этом в каталоге со скриптом создается error_log файл, куда пишется текст ошибки. В phpinfo() display_errors = Off. Вопрос 1: можно ли как-то в конкретном скрипте задать, чтобы ошибки выводились, без изменения php.ini? Вопрос 2: вывод ошибки в error_log это тоже устанавливается где-то в php.ini? Если так, то где? |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Синтаксическая ошибка не является ошибкой времени выполнения и, соответственно, не перехватывается никакими обработчиками.
Если убедиться в корректности скрипта нужно именно "в броузере" - можно скриптом запускать в консоли `php -t script.php` и смотреть есть ли ошибки. Такое поведение - старая фича php, хотя в новой версии обещают таки научится перехватывать и такие ошибки. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| V0fka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 5.11.2006 Где: Украина Репутация: нет Всего: нет |
Я просто помню, что когда-то такое вроде в браузере писало. Но может попутал с чем-то. Спасибо за ответ!
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Да, я тоже помню, что в сборке Денвера что-то такое было, ошибки синтаксиса выводились на экран. Но там довольно серьезная правка в php.ini, собственные прелод файлы и так далее... К сожалению, Денвера под рукой уже не осталось, проверить не на чем :(
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| _zorn_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1076 Регистрация: 21.8.2007 Репутация: 6 Всего: 12 |
Просто нужно понимать то с чем работаешь.
display_errors = On error_reporting = E_ALL php.ini ничего сложного.. |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Возможно, дело в nginx. В моем теперешнем отладочном Winginx, как и в аналогичной серверной безапачной конструкции, перехватить ошибку синтаксиса в окне броузера нельзя. Возвращается 500 ошибка. В то время как в апаче, если php используется как модуль - можно.
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| V0fka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 5.11.2006 Где: Украина Репутация: нет Всего: нет |
Из того, что выше написано, я правильно понял, что для того, чтобы эти ошибки отображались в браузере надо вносить правки в php.ini
display_errors = On error_reporting = E_ALL ? Если так, то что делать, если я не хочу выводить ошибки везде, а хочу это сделать в конкретном скрипте на период отладки? |
|||
|
||||
| Angel666 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 8.9.2011 Репутация: нет Всего: 1 |
создай в папке с этим скриптом .htaccess с строкой php_flag display_errors 1
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
| V0fka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 5.11.2006 Где: Украина Репутация: нет Всего: нет |
Попробовал, но лыжи всеравно не едут. Показывает теперь ошибку в браузере независимо от того есть ошибка в пхп скрипте или нету:
Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. |
|||
|
||||
| _zorn_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1076 Регистрация: 21.8.2007 Репутация: 6 Всего: 12 |
Это означает что хтаццес корявый. И возвращает ее апач, а не пхп.
Боже, когда же все начнут разбираться с тем с чем работают... Ладно, пойдём другим путём. Зачем вам апач на винде ? Для тестов - правильно ? Почему не использовать встроенный в пхп сервер ? (в консоле php -S localhost:1234) Если вам нужны специфичные .htaccess (которые обрабатывает только апач), значит у вас неправильна построена архитектура. Мне выше крыше хватает распакованной зипины пхп на винде без всяких апачей (http://windows.php.net/download#php-5.6) чтобы творить |
|||
|
||||
| V0fka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 5.11.2006 Где: Украина Репутация: нет Всего: нет |
На всякий случай уточню: в хтацесе должна быть только одна эта строчка? В моем случае это тогда nginx Когда поработают какое-то время, может быть тогда. В моем случае это nginx на linux хостинге. Если и тут возникает вопрос зачем так, то так сложилось. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |