PHP에서 프로젝트를 작성할 때 PHP 치명적인 오류: 포착되지 않은 오류: 정의되지 않은 함수 json_encode() 호출 오류 메시지가 표시되는 경우 당황하지 마세요. 이는 PHP 버전이 json_encode() 함수를 지원하지 않기 때문입니다. json_encode() 함수는 PHP에서 매우 일반적으로 사용되는 함수로, 배열이나 개체를 JSON 문자열로 변환하는 데 사용됩니다. 그렇다면 이 오류를 해결하는 방법은 무엇입니까? 아래에서 해결 방법을 살펴보겠습니다.
먼저 현재 PHP 버전을 확인해야 합니다. PHP 버전이 5.2.0 미만인 경우 먼저 PHP를 5.2.0 이상으로 업그레이드해야 합니다. json_encode() 함수는 버전 5.2.0부터 도입되었습니다.
터미널이나 명령줄에 php -v를 입력하면 현재 PHP 버전을 볼 수 있습니다.
PHP 버전이 5.2.0보다 높은데도 이 오류 메시지가 계속 나타나면 JSON 확장을 설치해야 합니다.
Windows 환경에서는 PHP 설치 디렉토리의 ext 폴더에서 php_json.dll 파일을 찾아 PHP 디렉토리에 복사하시면 됩니다. 그런 다음 php.ini 파일에 Extension=php_json.dll을 추가하여 JSON 확장을 활성화합니다.
Linux 환경에서는 다음 명령을 실행하여 JSON 확장을 설치할 수 있습니다.
sudo apt-get install php7.0-json
sudo service php7.0-fpm restart
위 명령은 참고용입니다. PHP 버전에 따라 조정할 수 있습니다.
JSON 확장을 설치했는데도 계속 이 오류가 발생하는 경우 JSON 확장이 활성화되지 않았기 때문일 수 있습니다. php.ini 파일에 다음 콘텐츠를 추가하여 JSON 확장을 활성화할 수 있습니다:
extension=json.so
또는 코드에서 JSON 확장을 수동으로 활성화:
if (!function_exists('json_decode')) {
function json_decode($content, $assoc = false) { require_once 'Services/JSON.php'; if ($assoc) { $json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE); } else { $json = new Services_JSON; } return $json->decode($content); }
}
if (!function_exists('json_encode')) {
function json_encode($content) { require_once 'Services/JSON.php'; $json = new Services_JSON; return $json->encode($content); }
}
이 방법에서는 json_encode() 및 json_decode() 함수를 수동으로 정의하여 코드가 모든 PHP 버전에서 작동할 수 있도록 보장합니다. 바르게.
요약
위의 세 가지 방법 중 가장 권장되는 방법은 JSON 확장 프로그램을 설치하는 두 번째 방법입니다. 이는 json_encode() 함수의 문제를 해결할 뿐만 아니라, 더 많은 JSON 관련 함수와 도구를 사용할 수 있게 해줍니다. 동시에, 프로젝트가 다양한 환경에서 정상적으로 실행될 수 있도록 위의 내용을 코드에 추가하여 JSON 확장이 없는 환경에서도 실행될 수 있도록 하는 것이 좋습니다.
위 내용은 PHP 치명적인 오류에 대한 해결 방법: 잡히지 않은 오류: 정의되지 않은 함수 json_encode() 호출의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!