PHP | Call to undefined function json_encode() エラーの原因と修正案

PHPで発生するエラー「Call to undefined function json_encode() in ~が発生する原因と対処・修正案について紹介しています。

Fatal error: Uncaught Error: Call to undefined function json_encode() in ~
致命的なエラー:キャッチされないエラー:未定義の関数json_encode()の呼び出し

Call to undefined function json_encode() エラーの発生原因と修正案

「Call to undefined function json_encode() in ~」というエラーはjson_encode()関数が見つからず読み込めない場合にに発生するPHPエラーです。

このエラーは致命的なエラー(Fatal error)、キャッチされないエラー(Uncaught Error)に分類されています。

json_encode()はPHP5.2から組み込まれている関数です。

レンタルサーバーでPHPバージョンによって定義されていないという可能性は少ないですが、もしPHPのバージョンが4.x系だった場合はPHPのバージョンを上げれば解決します。

調べたところ、PHP7系のどこかでjson_encode()が未定義になってしまっているバージョンがあったようです。
この場合もPHPのバージョンを最新のものにして確認して下さい。

PHPのバージョンに関係なくこのエラーが発生する場合は、サーバーの設定でJSONモジュールがインストールされていない、または無効になっているものと考えられます。

phpinfo()を使って「JSON」を検索、JSONモジュールが有効かどうか確認します。

phpinfo();

JSONが無効になっている場合は、「php.ini」で有効にします。

PHP,PHP エラー

Posted by Yousuke.U