PHP での Call to undefined function エラー

PHPのコードを別環境で動かそうとした時に、次のエラーが発生してしばらく悩みました。


PHP Fatal error: Call to undefined function XXXXX() in YYYYY.php


関数 XXXXX()は、YYYYY.php の先頭で require_once 'ZZZZ.php' したファイル内で定義しています。
試しに require_once 'ZZZZ.php' の代わりに存在しないファイル ZZZZ_test.php にしたら、次のようにエラーになるので、ZZZZ.php は読み込まれているようです。


PHP Fatal error: require_once(): Failed opening required 'ZZZZ_test.php'



関数定義したファイルは読み込まれているのに、エラーで関数が定義されていないと言われます。
謎でした。


これ、原因は次の2つによるものでした。
  • php.ini の short_open_tag オプションが Off(デフォルト)
  • phpファイルが


short_open_tag オプションが On だと、phpファイルが
  • phpファイルの始まりを
  • php.ini の short_open_tag オプションを On にする



  • PHP で Call to undefined function エラーがどうしても取れない場合は、確認してみて下さい。


    この記事へのコメント

    この記事へのトラックバック