PHP | Cannot redeclare (previously declared in ~) エラーの原因と修正案

PHP,PHP エラー

PHPで発生するエラー「Cannot redeclare (previously declared in ~)」が発生する原因と対処・修正案について紹介しています。

Fatal error: Cannot redeclare ***() (previously declared in ***.php) in ~
致命的なエラー:***()を宣言できません 既に***.phpで宣言されています

Cannot redeclare (previously declared in ~) エラーの発生原因と修正案

「Cannot redeclare (previously declared in ~)」というPHPエラーは同一の関数名による関数が既に宣言されている際に発生するエラーです。

最初のファイルパスは既に宣言されている場所が案内されます。
PHPの本体で宣言されている関数名で宣言した場合は「Cannot redeclare (previously declared in ~) 」は表示されません。

このエラーは致命的なエラー(Fatal error)に分類されています。

例えば、以下のPHPコードのように既に宣言している関数my_function()を別の場所で再宣言すると「Cannot redeclare (previously declared in ~)」エラーが発生します。

function my_function()
{
}

function my_function()
{
}

このエラーを修正するには、名前が重複している2つのうち、いずれかの関数宣言を変更する必要があります。

PHPは別ファイルの関数も呼び出せる状態のものが多いですので、別ファイルでの関数宣言かもしれない点に注意します。

PHP,PHP エラー

Posted by Yousuke.U