フリーランス|WEB 制作経験丸7年、制作会社様からのご依頼に丁寧・高クオリティでお手伝いいたします。 IRODORI DESIGN

B L O G

【PHPエラー】Fatal error: Call to undefined functionの解決方法

Fatal error
PHP
エラー
トラブルシューティング
プログラミング

こんにちは、岐阜・名古屋を拠点に全国各地からご依頼いただくWEBサイトを制作しているフリーランスエンジニアの寺井です。

プログラミングの世界では、予期せぬエラーに直面することはよくあることです。特にPHPを使用している場合、スクリプトを実行した際に「Fatal error: Call to undefined function」というエラーメッセージが表示されることがあります。このメッセージは、コードのどこかで問題が発生している重要な手掛かりとなります。
このブログ記事では、このエラーの意味と、それがなぜ発生するのか、そしてどのように解決すればよいのかを詳しく解説していきます。

Fatal error: Call to undefined functionとは

このエラーメッセージは、PHPが定義されていない関数を呼び出そうとした際に表示されるものです。
関数が定義されていない場合、PHPは何を実行すればいいか分からず、結果としてこの致命的なエラーを発生させます。

Fatal error: Call to undefined function ●● in ■■ on line ▲▲

このような形式でエラー表示がされます。このエラーは以下のような内容になっています。

●●:存在しない関数名
■■:ディレクトリ名/ファイル名
▲▲:エラーの原因となる●●が書かれている行数

■■というファイル内にある▲▲行目に書かれている●●という関数は存在しません。

このようなエラー内容となっています。

エラーが表示される原因と解決方法

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

最も一般的な原因は存在しない関数を呼び出そうとした場合です。これは主にタイプミスによる関数名の間違いが原因である場合や、そもそも関数を定義していなかったという場合が多いです。
たとえば、PHPにあらかじめ用意されている組み込み関数のstr_replace()をstring_replace()と間違えて呼び出すと、このエラーが生じます。

<?php
    // 誤った関数名の呼び出し例
    $result = string_replce("world", "World", "Hello world!");
    echo $result;
?>

解決方法

上の例の場合、「Fatal error: Call to undefined function」が表示されます。
PHPにあらかじめ用意されている組み込み関数はstr_replace()であり、string_replace()ではありません。
そのため、以下のように正しい関数名に書き換えることで解決します。

<?php
    // 正しい関数名の呼び出し例
    $result = str_replace("world", "World", "Hello world!");
    echo $result;
?>

まとめ

プログラミング中に遭遇する「Fatal error: Call to undefined function」エラーは、関数の名前を間違えているか、関数の定義が適切な場所にないかのいずれかであることが多いです。
コードを注意深くチェックしプログラミングすることでこの種のエラーを未然に防ぐことができます。
この情報を共有しながら、自身もPHPのスキル向上に励んでいます。一緒により強固で読みやすく、効率的なコードを目指していきましょう。