Как в htaccess включить display_errors только для одного ипа?

Тема в разделе "PHP", создана пользователем SoaringHawk, 11 май 2009.

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

    SoaringHawk Постоялец

    Регистр.:
    25 апр 2009
    Сообщения:
    61
    Симпатии:
    2
    Необходимо в htaccess выставить php_flag display_errors On только для одного ипа. Для всех же остальных, чтоб было php_flag display_errors Off.

    Как это реализовать?
     
  2. jik

    jik

    Регистр.:
    11 мар 2009
    Сообщения:
    243
    Симпатии:
    133
    через htaccess нельзя. Придется делать путем включения в начало php-файла:

    PHP:
    if ($_SERVER['REMOTE_ADDR'] == '999.999.999.999') {
      
    ini_set('display_errors'E_ALL);
    }
     
    SoaringHawk нравится это.
  3. System777

    System777 Создатель

    Регистр.:
    20 апр 2008
    Сообщения:
    30
    Симпатии:
    13
    А на случай, если ini_set заблокировано (скажем, хостером, как часто бывает) для использования, то возможен такой, похожий вариант кода:

    PHP:
    if ($_SERVER['REMOTE_ADDR'] == '999.999.999.999') {
      
    error_reporting(E_ALL);
    } else {
      
    error_reporting(E_NONE);
    }
     
    SoaringHawk нравится это.
  4. SoaringHawk

    SoaringHawk Постоялец

    Регистр.:
    25 апр 2009
    Сообщения:
    61
    Симпатии:
    2
    Это конечно вариант, но вариант который был первым на исключение.:)
    Потому как пришлось бы так или иначе править все скрипты (естественно речь о тех, что запрашиваются пользователем), которые не связаны между собой (инклюдами например). Поэтому я и искал глобальный способ. htaccess идеально подходил, один раз написал, кинул в корень и радуйся. Но раз это "невозможно" осталось 2 варианта - включить "для всех" или отключить, а за ошибками лезть в логи.:(
     
  5. Albert22

    Albert22

    Регистр.:
    30 мар 2008
    Сообщения:
    270
    Симпатии:
    10
    У меня для таких случаев все скрипты подключают один общий скрипт-шапку. В нём заодно уже html начинает генерироваться :)
     
  6. Jeurey

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576
    Для таких случаев есть директивы htaccess, отвечающие за включение в тело страницы (до основного файла) кода из файла, и после него. Курите маны.
     
  7. Albert22

    Albert22

    Регистр.:
    30 мар 2008
    Сообщения:
    270
    Симпатии:
    10
    А если нужно гибкое подключение, например с параметрами, зависящими от подключающего файла (как-то заголовок страницы, управление выводом блоков, вызов дополнительных стилей CSS в шапке)? Тоже .htaccess'ом? В таком случае Вы знаете толк в извращениях, не иначе...
     
  8. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    А это нужно для лога ошибок? :eek:

    В грамотных системах, логирование ведётся централизовано и рулить им можно как тебе угодно.
    А если изначально сделано через жопу, то auto_prepend_file самое простое решение.
     
  9. Albert22

    Albert22

    Регистр.:
    30 мар 2008
    Сообщения:
    270
    Симпатии:
    10
    Не, я не про вывод ошибок говорил, а про подключение функциональных файлов в ответ на сообщение от Jeurey
     
  10. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Так всё верно.
    Если во все файлы надо включить код
    PHP:
    if ($_SERVER['REMOTE_ADDR'] == '999.999.999.999') {
      
    error_reporting(E_ALL);
    } else {
      
    error_reporting(E_NONE);
    то auto_prepend_file самое простое решение.
     
Статус темы:
Закрыта.