2011-12-17 3 views
3

$ post 함수를 사용하여 자격 증명을 확인하는 PHP 스크립트에 자격 증명을 보내는 jQuery 로그인 양식이 있습니다.PHP 4.4.1 JSON ENCODE

PHP 5.2를 사용하고 있으며 echo json_encode ($ data)를 사용하고 있습니다. 내 PHP 스크립트에서 모든 문제를 witout 로그인 양식에 오류 메시지를 다시 보낼 수 있습니다. 문제는 이제 PHP 4.4.1을 설치 한 클라이언트가 있고이 명령을 인식하지 못하고 다음 오류가 발생합니다.

치명적인 오류 : 정의되지 않은 함수 호출 :로 json_encode()

버전 PHP 4.4.1()로 json_encode하는 상응 있습니까?

도움이 될 것입니다.

미리 감사드립니다.

+1

PHP 4.4.1이 2005 년 10 월 31 일에 릴리스되었습니다. 지금까지 업데이트하지 않은 이유가 없습니다. 나는 당신의 코드를 바꾸는 대신 PHP에 알려줄 것을 제안한다. –

+0

[PHP 4의 JSON 사용 방법] (http://www.epigroove.com/posts/97/how_to_use_json_in_php_4_or_php_51x) – Clive

+0

가능한 복제본 [php 5.1.6 json_encode and codeigniter] (http://stackoverflow.com/questions)/2900511/php-5-1-6-json-encode-and-codeigniter) – mario

답변

2

이 래퍼 기능을 사용해야합니다 : http://www.boutell.com/scripts/jsonwrapper.html. 이 솔루션으로 수행해야 할 작업은 include이며 json_encode.php이며 function_exists 검사를 수행합니다. 존재하지 않으면 함수를 추가합니다.

1

JSON 지원은 버전 5.2.0 이후 PHP 코어에서 지원되었습니다. 따라서 대신 PECL::json을 사용해야합니다.

또한 PHP4에 대한 지원이 2007-12-31부터 중단되어 보안 문제가 공개되어 PHP5로 업데이트하는 것이 좋습니다.

0

Services_JSON (PEAR의 일부)은 php4와 호환됩니다. 당신이 그 중 하나에 액세스 할 수없는 경우에, 나는 당신이 당신 자신의 함수를 작성해야 두려워 다음은 위의 json_encode()와 호환되지 입니다

function my_json_encode($arrayus) { 
    $newarr = '{'; 
    foreach ($arrayus as $key => $val) { 
     $newarr .= '"' . $key . '":"' . $val . '",'; 
    } 
    $newarr = substr($newarr, 0, strlen($newarr) - 1); 
    $newarr .= '}'; 
    return $newarr; 
} 

을, 그러나 당신의 목적을 위해 작동 할 수 .