Домашний сервер не выводит сообщения об ошибках.

Статус
В этой теме нельзя размещать новые ответы.

Loiso

Создатель
Регистрация
23 Янв 2010
Сообщения
32
Реакции
0
Apache/2.2.15 (Win32) PHP/5.2.12
Если допущена ошибка в коде PHP сервер выдает просто пустую страничку. А по идее должна выводиться инфа об ошибке, в какой строке и т.п. В чем может быть проблема? Спасибо!
 
Можно также через .htaccess,
это удобно в основном на хостинге, если ты в каком то отдельном проекте хочешь включить или отключить отображение об ошибках
Так включить
php_flag display_errors on
php_flag display_startup_errors on
php_value error_reporting 2047

Ну а выключить соответственно off
 
Поставлю точку в теме.
Используй функцию ini_set(); для изменения любого параметра php.ini в любой момент. Удобно при использовании на отдельном скрипте, кроне и.т.д.
 
Всем спасибо, все заработало) Не думал что такой большой выбор способов есть)))
 
Подскажите, почему может не работать ini_set()?
Строка такая:
if(!ini_set("display_errors", "1")) echo "Параметр установить не удалось.";
Пробовал в различных вариантах - результат всегда один - FALSE.

Я что-то не так делаю или где-то в настройках можно запретить менять эти параметры из скрипта?
 
Подскажите, почему может не работать ini_set()?
Строка такая:
if(!ini_set("display_errors", "1")) echo "Параметр установить не удалось.";
Пробовал в различных вариантах - результат всегда один - FALSE.

Я что-то не так делаю или где-то в настройках можно запретить менять эти параметры из скрипта?


PHP:
if(ini_set("display_errors", "1")===false) echo "Параметр установить не  удалось.";


Делай так и мотай на ус:


1) string ini_set (string varname, string newvalue)
Устанавливает значение данной опции конфигурации. Возвращает старое значение при успехе, FALSE при неудаче.
2) Сделай print_r(ini_get("display_errors")) и посмотри что покажет. Если вернет 0, то условие if(!ini_set("display_errors", "1")) тоже сработает.
3)Таким образом проверять надо не на пустоту а на строгое сравнение с false.
 
Спасибо) Уже лучше но все-равно не работает(
Попробовал с советами, понял, что параментр задается корректно, только на отображение ошибок это не влияет.
Включил ошибки вручную в php.ini. Теперь с тестовыми целями пробую выключить отображение.
PHP:
if(ini_set("display_errors", "0")===false) echo "Параметр установить не  удалось.";
print_r(ini_get("display_errors"));
echo "hello";
echo "hello";
Т.е. отключаю отображение обшибок, проверяю. print_r выдает 0, т.е. все установилось. Потом после первого echo удаляю ";", запускаю скрипт - исправно пишет "Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in C:\www\Default\test\test16.php on line 10 ", а по идее должен просто ошибку 500 выдавать...
 
Спасибо) Уже лучше но все-равно не работает(
Попробовал с советами, понял, что параментр задается корректно, только на отображение ошибок это не влияет.
Включил ошибки вручную в php.ini. Теперь с тестовыми целями пробую выключить отображение.
PHP:
if(ini_set("display_errors", "0")===false) echo "Параметр установить не  удалось.";
print_r(ini_get("display_errors"));
echo "hello";
echo "hello";
Т.е. отключаю отображение обшибок, проверяю. print_r выдает 0, т.е. все установилось. Потом после первого echo удаляю ";", запускаю скрипт - исправно пишет "Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in C:\www\Default\test\test16.php on line 10 ", а по идее должен просто ошибку 500 выдавать...
если вы в скрипте выполняете что-то такое:
ini_set('display_errors',1);
error_reporting(E_ALL);
то это не поможет, если в нём есть синтаксическая ошибка. Эти настройки должны быть сделаны с помощью php.ini или .htaccess.
 
если вы в скрипте выполняете что-то такое:
ini_set('display_errors',1);
error_reporting(E_ALL);
то это не поможет, если в нём есть синтаксическая ошибка. Эти настройки должны быть сделаны с помощью php.ini или .htaccess.
Совсем не помогает. Но для чего же тогда вообще сделаны эти настройки? Странно...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху