Fatal error: Cannot redeclare 関数名~というエラー

PHPで今まで見たことのないエラーが出てはまったのでメモ。

プログラムを実行したら、以下のようなエラーが出た。Fatal errorのFatal は致命的な~という意味。

Fatal error: Cannot redeclare 関数名 (previously declared in 関数を定義したファイルのパスとライン)

コードをいくら見直しても間違いが見つからないので、エラー表示から検索してみた。このメッセージが出る場合は、何かを重複して呼び出しているため、エラーになっている可能性が高いらしい。

で、英語のメッセージを見ると、Cannot redeclareは再宣言できない、previously declaredは前に宣言された~という意味。

関数関連のエラーというのはわかるので、関数を見直したけど、関数自体には間違いが無い。

重複しているために起こるエラーというので、よく見ると、この関数の定義をループ処理の中でしていたので、試しにループから外して、他の場所にコピペしてあげるとあっさり解決。わかってしまえば、なんてことないエラーだけど解決に1時間かかった・・・。


広告

コメントを残す