За последние 24 часа нас посетили 35998 программистов и 1671 робот. Сейчас ищут 1066 программистов ...

Странность. PHP не выводит ошибки заголовков

Тема в разделе "PHP для новичков", создана пользователем zipferrr, 21 окт 2013.

  1. zipferrr

    zipferrr Новичок

    С нами с:
    21 окт 2013
    Сообщения:
    6
    Симпатии:
    0
    Здравствуйте. Проблема возникла на мой взгляд нестандартная, надеюсь поможете решить.
    Обычно такой код:
    echo 123;
    header('Content-Type: text/html;charset=UTF-8');

    должен вернуть ошибку типа Cannot modify header information. Headers already send. Output started бла бла... НО, этой ошибки нет. Вообще нет ошибок когда заголовки отправляют после любого вывода в браузер и при этом заголовки ОТПРАВЛЯЮТСЯ... Не понятно. Тоесть если сделать редирект после вывода, то он отработает без ошибок - почему так происходит?

    Вывод ошибок включен, остальные ошибки всплывают как нужно.
     
  2. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Может не туда просто смотрите?
    Покажите полный скрипт, где указываете ошибки и как?
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    где-то стоит ob_start() - вывод буферизируется
     
  4. zipferrr

    zipferrr Новичок

    С нами с:
    21 окт 2013
    Сообщения:
    6
    Симпатии:
    0
    Нету нигде ни ob_start... смотрю я в тот же файл... пхп и апач ставил самостоятельно, может в настройках что то упустил?
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    может. может есть настройка буферения принудительного на хостинге. мне что-то кажется, что такая есть.
     
  6. zipferrr

    zipferrr Новичок

    С нами с:
    21 окт 2013
    Сообщения:
    6
    Симпатии:
    0
    Да Игорь я тоже как то подумал над этим. Но это не хостинг, дело происходит у меня на машине в localhost, и гугл как не странно об этом ничего не знает... Удивлён честно говоря, при установке затрагивал только нужные настройки типа short open tag и т.п
     
  7. Yadfewm

    Yadfewm Активный пользователь

    С нами с:
    20 июл 2009
    Сообщения:
    223
    Симпатии:
    0
    Попробуйте в .htaccess задать то что вам нужно:
    Код (Text):
    1. # Запись ошибок в логи
    2. #php_flag log_errors on
    3.  
    4.  
    5. # В какие логи писать, например, в том же месте: "php_value error_log php.log", или в одном файле: "/home/path/public_html/domain/PHP_errors.log" (с DOCUMENT_ROOT)
    6. #php_value error_log php.log
    7.  
    8.  
    9. # Длинна логов чтобы не пузеть со временем
    10. #php_value log_errors_max_len 10240
    11.  
    12.  
    13. # Определяет тип выводимых ошибок (php_value error_reporting), наример, все ошибки кроме замечаний ("E_ALL & ~E_NOTICE") или все ошибки ("E_ALL")
    14. php_value error_reporting "E_ALL"
    15.  
    16.  
    17. # Включает / выключает вывод ошибок в браузер (php_flag display_errors), если сайт рабочий ошибки нужно писать в логи
    18. php_flag display_errors On
     
  8. zipferrr

    zipferrr Новичок

    С нами с:
    21 окт 2013
    Сообщения:
    6
    Симпатии:
    0
    Не помогло... вообще ничего не понимаю, бред какой то происходит (
     
  9. Yadfewm

    Yadfewm Активный пользователь

    С нами с:
    20 июл 2009
    Сообщения:
    223
    Симпатии:
    0
    Хе хе, что не помогло?
    Я дал сырой код он настраивает выводить ошибки или нет и если выводить то куда.
    Впрочем на данный момент выкладывания был настроен на вывод ошибок в браузер.

    Ну нужно сделать phpinfo() и читать его построчно, а ещё смотреть php.ini его тоже построчно читать и разбираться. Я бы в этих текстах сразу поиск по фразе "err" сделал и глядел глядел...
     
  10. zipferrr

    zipferrr Новичок

    С нами с:
    21 окт 2013
    Сообщения:
    6
    Симпатии:
    0
    установка эрроров через .htaccess не помогло... логи пусты + все эти выводы ошибок я из мануала позаписывал себе уже не раз но толку 0... я тоже думаю сравнить с настройками денвера мой Ini файл но и от ваших предложений не откажусь
     
  11. Yadfewm

    Yadfewm Активный пользователь

    С нами с:
    20 июл 2009
    Сообщения:
    223
    Симпатии:
    0
    Иногда я забиваю на неправильную работу сборок на тестовом сервере (если это не ваша ручная сборка конечно и ваш комп не является собственно сервером).

    Главное чтоб на удаленном сервере (хостинге) - работало =)
     
  12. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    ну в PHP есть настройка output_buffering, может оно и есть ОНО?
     
  13. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Возможно из-за того, что нет никакой структуры вовсе.
    Сделайте более логическую структуру скрипт-кода, увидите ошибки в ходе.
    Думаю, что из пустого вывода, без обработок и все-различных возвращений ошибок может не возникнуть.

    Проверил! Обычный вывод без сторонних объявлений и условий, скрипт не выводит ошибок.
    Почему, даже хз, видимо концепция такова.