PHP関数またはユーザー定義関数として存在しない関数を呼び出したという意味です。関数名の入力を間違えると発生します。
また、非常によくあるパターンとして「mb_」で始まるマルチバイト関数(mb_strpos関数、mb_substr関数、mb_strlen関数など)のトラブルがあります。PHPの設定ファイル(php.ini)では、この関数が無効になっている場合があります。
○マルチバイト関数が無効になっている
;extension=php_mbstring.dll
この状態でmb_strpos関数などを使うと、「Fatal error: Call to undefined function …」と表示されます。ポイントは左端の「;」です。これにより、この行はコメントになり機能しません。この設定を有効にしてマルチバイト関数を使えるようにするには、左端の「;」を削除して、Webサーバー(Apache)を再起動します。
○マルチバイト関数を有効にする(Webサーバーの再起動を忘れずに)
extension=php_mbstring.dll
定番の入力ミスやエラーを予習したい方におすすめの本
「Call to undefined function」を見て「未定義の関数?」というエラーメッセージの意味ばかりが気になってしまうと解決に時間がかかってしまいますが「単なる入力ミスかも」と先入観が入っていれば気が楽です。関数名などをチェックすれば良いので解決も簡単です。
入力ミスにも定番のパターンがいくつかあり、先に「予習」しておけば同じトラブルが起きたときにも落ち着いて対処できます。よくあるミスやエラーのパターンを予習しておきたい方にはこの本をおすすめします(私が書いた本ですが)。
「PHP「直す力」養成ドリル」について詳しくはこちら