0

Когда я бегу php-closure я получаю ошибку PHPPhp ошибок при выполнении компилятора закрывающего

Undefined index: HTTP_IF_NONE_MATCH in <b>/php-closure.php</b> on line <b>183</b> 

Line 184 из PHP-закрытия является

trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) { 

Эта ошибка происходит только тогда, когда закрытие уже написал сжатое javascript в каталог один раз, если каталог опустел, ошибка не появляется. Что означает эта ошибка и как ее избежать?

Спасибо вам большое!

ответ

2

Это, скорее всего, небрежное сообщение. Сначала код должен проверить наличие HTTP_IF_NONE_MATCH в массиве серверов, прежде чем проверять его значение. То, что установлено в $ _SERVER, имеет тенденцию изменяться с сервера на сервер (и заголовки, отправленные клиентом), поэтому, возможно, исходный разработчик установил это значение и не думал проверять его.

Вы можете предварять строку в вопросе с чеком

if (array_key_exists("HTTP_IF_NONE_MATCH", $_SERVER)) 

(в зависимости от того допускает логика программы и поток это, конечно)

Или убавьте сообщения об ошибках, так что уведомления не являются отображается (не рекомендуется, но Mybe необходимо, если вы не можете потрогать пакет), помещая это в самом начале вашего приложения:

error_reporting(E_ALL^E_NOTICE); 

@Ivo га Это отличный третий вариант в его комментарии.

+1

Если вы не хотите изменять исходный код PHP-Closure, вы можете поместить предлагаемый код перед вызовом PHP-Closure и инициализировать $ _SERVER ['HTTP_IF_NONE_MATCH'] с некоторым значением по умолчанию. –

+0

спасибо вам за то, что вы предложили очень полный ответ:) – Mohammad