サーチ…


注意:未定義のインデックス

外観:

配列に存在しないキーで配列にアクセスしようとしています

考えられる解決策:

アクセスする前に空き状況を確認してください。つかいます:

  1. isset()
  2. array_key_exists()

警告:ヘッダー情報は変更できません - 既に送信されたヘッダー

外観:

スクリプトがHTTPヘッダーをクライアントに送信しようとしたときに既に出力されているため、ヘッダーが既にクライアントに送信されていた場合に発生します。

考えられる原因 :

  1. Print、echo: printとechoステートメントからの出力は、HTTPヘッダーを送信する機会を終了します。これを避けるには、アプリケーションフローを再構成する必要があります。

  2. 生のHTML領域: .phpファイルの解析されていないHTMLセクションも直接出力されます。 header()呼び出しをトリガーするスクリプト条件は、生のブロックの前に記録する必要があります。

    <!DOCTYPE html>
    <?php
         // Too late for headers already.
    
  3. <?php "script.php 1行目"の空白より前の警告警告:警告が1行目の出力を参照する場合は、開始時の<?phpトークンの前に空白、テキストまたはHTMLがあります。

    <?php
    # There's a SINGLE space/newline before <? - Which already seals it.
    

マリオからのSOの答え

解析エラー:構文エラー、予期しないT_PAAMAYIM_NEKUDOTAYIM

外観:

「Paamayim Nekudotayim」はヘブライ語で「二重コロン」を意味します。したがって、このエラーは、二重コロン演算子( :: :)の不適切な使用を指します。このエラーは、通常、実際には静的ではない静的メソッドを呼び出すことによって発生します。

考えられる解決策:

$classname::doMethod();

上記のコードでこのエラーが発生した場合は、単にメソッドを呼び出す方法を変更する必要があります。

$classname->doMethod();

後者の例では、 $classname$classnameのインスタンスであり、 doMethod()はそのクラスの静的メソッドではないと仮定しています。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow