Ошибка PHP при закрытии компилятора - PullRequest
0 голосов
/ 06 апреля 2010

Когда я запускаю php-closure я получаю ошибку PHP

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

Строка 184 php-closure

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

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

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

1 Ответ

3 голосов
/ 06 апреля 2010

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

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

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

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

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

error_reporting(E_ALL ^ E_NOTICE); 

@ У Иво есть замечательная третья альтернатива в его комментарии.

...