ホームページ バックエンド開発 PHPチュートリアル 致命的なエラー: 未定義の関数の呼び出し_PHP教程

致命的なエラー: 未定義の関数の呼び出し_PHP教程

Jul 14, 2016 am 10:08 AM
error fatal function php undefined 1つ 対処する 一般 間違い

PHP の一般的なエラー処理における致命的なエラー (1)----関数が定義されていません

1. エラーの種類: PHP の致命的なエラー
エラーの種類: PHP 致命的エラー
致命的なエラー: (c) 行目の (b) で未定義の関数 (a) を呼び出します
2. エラーの説明:
このエラー レポートは、未定義の関数を呼び出そうとしていることを示しています。
a---- は未定義の関数名を表します。
b----このスクリプトが表示されるパス。
c----未定義の関数を呼び出そうとしている行番号。
d----関数が 2 回目に定義されたときの行番号。
3. 原因と解決策:
理由 1: 関数を宣言していません。たとえば、次の関数を直接呼び出します
myFunction(); // ここにはそのような関数はありません
結果は以下の通りです
致命的なエラー: 1 行目で未定義関数 myFunction()in(path) を呼び出します
解決策:
この関数がプログラム内で宣言されているかどうかを注意深く確認してください。
原因 2: 関数を宣言するときに使用する名前が、関数を呼び出すときに使用する名前と異なります。たとえば、
function myFunction(){// do something}myFuntion();// ここの文字 C が 1 つ少ないです
解決策: これは、多くの初心者が犯す最も一般的な間違いです。引受、上書き、文字間違いなどにより長期間確認できない場合があります。
原因 3: 古いバージョンの PHP で新しいバージョンの PHP 組み込み関数を呼び出したときにエラーが発生しました。この PHP 組み込み関数は古いバージョンにはまったく存在しないためです。たとえば、古いバージョンの PHP で mime_content_type()
を呼び出すとします。
致命的なエラー:未定義関数 mime_content_type() の呼び出し
解決策: PHP マニュアルを開き、使用する組み込み関数がどのバージョンの PHP に適用できるかを注意深く確認してください。詳細なバージョン制限は、PHP マニュアルの各組み込み関数に記載されています。たとえば (PHP 4 >= 4.3.0、PHP 5) したがって、解決策は、PHP バージョンをアップグレードするか、同じタイプの他の組み込み関数に変更することです。
理由 4: 関数の呼び出しコードが、関数宣言とは異なるファイルに記述されています。たとえば、.php ファイルに次のようなコードを書きました
myFunction();
関数宣言は b.php にあります
function myFunction(){//何かをする}
解決策: この状況は通常、PHP 初心者が関数呼び出し時に PHP がファイルを自動的に関連付けたり参照したりしないことを忘れています。つまり、上記の状況では、a.php と b.php にはまったく関係がありません。このとき、include() などの関数を使用して 2 つを関連付ける必要があります。
理由 5: 関数の呼び出しコードが関数宣言とは別のファイルに記述されており、そのファイルも導入されています。ただし、関数呼び出しコードはインポート ファイル コードより前にあります。たとえば、a.php で関数呼び出しを実行し、b.php で関数を宣言します
a.php コード
myFunction();include('b.php');
b.php コード
関数 myFunction(){ echo '123';}
解決策: 上記のコードと同様、実行時にエラーが報告されます。 PHP は関数呼び出しを実行するときに関数の宣言を見つけることができないためです。したがって、関数宣言ファイルが導入される前に関数呼び出しを作成しないでください。もちろん、同じphpファイル内であれば、関数宣言の前に呼び出し関数を記述することもできます。
理由 6: 同じ名前を 2 回続けて使用して関数を定義した場合。たとえば、
関数 myFunction(){}
関数 myFunction(){}
結果は以下の通りです
致命的なエラー: 1 行目の myfunction()(以前に宣言された in(path):2)in(path) を再宣言できません
解決策:
すでに宣言されている関数を見つけて、それを再度定義する必要がある理由を確認してください。以前に定義したことを単に忘れていた場合は、宣言の 1 つを削除してください。もちろん、あなたの状況は複雑かもしれません。たとえば、スクリプト ファイルが非常に混乱した方法で配置されており、多数の include() やその他の関数を使用している可能性があるため、混乱したコードからアイデアを整理することが困難になります。
http://www.bkjia.com/PHPjc/477759.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/477759.html技術記事 PHP 共通エラー処理の致命的エラー (1)----関数が定義されていません 1. エラーの種類: PHP 致命的エラー 致命的エラー: (b) 上の未定義の関数 (a) への呼び出し...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

See all articles