0

php-closureを実行すると、PHP エラーが発生します

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

php-closure の 184 行目は

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

このエラーは、クロージャが圧縮された javascript ファイルをディレクトリに一度書き込んだ場合にのみ発生します。ディレクトリが空である場合、エラーは表示されません。このエラーは何を意味し、どうすれば回避できますか?

どうもありがとうございます!

4

1 に答える 1

3

これは無視できるメッセージである可能性が高いです。コードは、HTTP_IF_NONE_MATCHその値を確認する前に、まずサーバー配列に が存在するかどうかを確認する必要があります。$_SERVER に設定される内容は、サーバーごとに (およびクライアントから送信されるヘッダーも) 変更される傾向があるため、おそらく元の開発者はその値を設定していて、それを確認することを考えていませんでした。

問題の行の先頭にチェックを付けることができます

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

(もちろん、プログラムのロジックとフローがこれを許可するかどうかによって異なります)

または、通知が表示されないようにエラー報告を下げます (推奨されませんが、パッケージに触れることができない場合は必要になる可能性があります)。これをアプリケーションの最初に配置します。

error_reporting(E_ALL ^ E_NOTICE); 

@Ivo のコメントには、3 番目の優れた選択肢があります。

于 2010-04-06T19:22:32.410 に答える