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

Тема в разделе "PHP", создана пользователем Loiso, 10 апр 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Loiso

    Loiso Создатель

    Регистр.:
    23 янв 2010
    Сообщения:
    32
    Симпатии:
    0
    Apache/2.2.15 (Win32) PHP/5.2.12
    Если допущена ошибка в коде PHP сервер выдает просто пустую страничку. А по идее должна выводиться инфа об ошибке, в какой строке и т.п. В чем может быть проблема? Спасибо!
     
  2. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    363
    Симпатии:
    117
    в php.ini
    error_reporting = E_ALL
    display_errors = On
    display_startup_errors = On

    подробней:
    http://php.su/functions/?cat=errorfunc
     
    Loiso нравится это.
  3. ADyDyka

    ADyDyka Создатель

    Регистр.:
    19 янв 2010
    Сообщения:
    26
    Симпатии:
    5
    Можно также через .htaccess,
    это удобно в основном на хостинге, если ты в каком то отдельном проекте хочешь включить или отключить отображение об ошибках
    Так включить
    php_flag display_errors on
    php_flag display_startup_errors on
    php_value error_reporting 2047

    Ну а выключить соответственно off
     
    Loiso нравится это.
  4. fastpars

    fastpars Создатель

    Регистр.:
    7 апр 2010
    Сообщения:
    23
    Симпатии:
    7
    Поставлю точку в теме.
    Используй функцию ini_set(); для изменения любого параметра php.ini в любой момент. Удобно при использовании на отдельном скрипте, кроне и.т.д.
     
    Loiso нравится это.
  5. Loiso

    Loiso Создатель

    Регистр.:
    23 янв 2010
    Сообщения:
    32
    Симпатии:
    0
    Всем спасибо, все заработало) Не думал что такой большой выбор способов есть)))
     
  6. Loiso

    Loiso Создатель

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

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

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129

    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.
     
    Loiso нравится это.
  8. Loiso

    Loiso Создатель

    Регистр.:
    23 янв 2010
    Сообщения:
    32
    Симпатии:
    0
    Спасибо) Уже лучше но все-равно не работает(
    Попробовал с советами, понял, что параментр задается корректно, только на отображение ошибок это не влияет.
    Включил ошибки вручную в 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 выдавать...
     
  9. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    если вы в скрипте выполняете что-то такое:
    ini_set('display_errors',1);
    error_reporting(E_ALL);
    то это не поможет, если в нём есть синтаксическая ошибка. Эти настройки должны быть сделаны с помощью php.ini или .htaccess.
     
    Loiso нравится это.
  10. Loiso

    Loiso Создатель

    Регистр.:
    23 янв 2010
    Сообщения:
    32
    Симпатии:
    0
    Совсем не помогает. Но для чего же тогда вообще сделаны эти настройки? Странно...
     
Статус темы:
Закрыта.