PHP

【直し方】Fatal error: Call to undefined function (関数名)

Fatal error: Call to undefined function (関数名)の直し方

Fatal error: Call to undefined function の原因と対処方法を解説していきます。

こちらのエラーは「未定義の関数を呼び出している」という意味のエラーになります。

エラーの原因

未定義の関数を呼び出している

PHP関数またはユーザー定義関数として存在しない関数を呼び出したという意味です。関数の入力間違いに注意しましょう。

function test() { echo "こんにちは"; }
sample();

↓

function test() { echo "こんにちは"; }
test();

呼び出しの対象となる関数がちゃんと定義されているか確認しましょう。

関数の記述ミスやタイプミスも見直してみてください。

マルチバイト関数が無効になっている

マルチバイト関数(mb_strpos関数、mb_substr関数、mb_strlen関数など)がPHP.iniにて無効になっている場合があります。

この場合、エラーが出力されます。

;extension=php_mbstring.dll

↓

extension=php_mbstring.dll

このようにしっかりとマルチバイト関数を有効にしましょう。

設定した後に、アパッチの再起動も忘れずに行いましょう。

メソッド内で関数を呼び出している

クラスのメソッド内で誤って関数を呼び出している場合は、注意してください。

class fruit{
    function apple() { echo "赤い"}; }
    function grape() { apple(); }
}

↓

class fruit{
    function apple() { echo "赤い"}; }
    function grape() { $this->apple(); }
}

メソッド内で異なるメソッドを呼び出す場合には$thisを使用しましょう。