2017-10-12 71 views
1

我得到了一个“致命错误:调用未定义的函数:json_encode()”我的PHP文件,它是一个ovh服务器上承载。这里是代码:致命错误:调用未定义的函数:json_encode()

function get_paypload_giftcard($partnerId, $gcRequestId, $currencyCode, $gcAmount) 
{ 
    $amount = trim($gcAmount); 
    $payload = array(
    "creationRequestId" => $gcRequestId, 
    "partnerId" => $partnerId, 
    "value" => 
    array(
     "currencyCode" => $currencyCode, 
     "amount" => floatval($amount) 
    ) 
    ); 
    return json_encode($payload); 
} 

如何解决这个问题? 除了json_encode还有其他的选择吗?

+0

什么版本的PHP?是否安装并启用了json PHP扩展? http://php.net/manual/en/function.json-encode.php列出了使用该功能的先决条件。和http://php.net/manual/en/json.setup.php显示如何让它工作。通常它在PHP 5.2及更高版本中默认安装。所以大概是你的PHP版本是古老的,或者由于某种原因被故意禁用。 – ADyson

+0

你使用的是什么版本的PHP? – Qirel

+0

是的版本是它现在解决的问题ty –

回答

0

json_encode()要求php> = 5.2。这听起来像你的服务器正在运行的东西比这更早(你可以检查你的php版本phpversion())功能。

假设是这种情况,您需要使用模仿该功能的库。快速谷歌搜索表示有bunchofthese

使用一个从https://boutell.com/scripts/jsonwrapper.html

function get_paypload_giftcard($partnerId, $gcRequestId, $currencyCode, $gcAmount) 
{ 
    require_once '/path/to/jsonwrapper.php'; 

    $amount = trim($gcAmount); 
    $payload = array(
    "creationRequestId" => $gcRequestId, 
    "partnerId" => $partnerId, 
    "value" => 
    array(
     "currencyCode" => $currencyCode, 
     "amount" => floatval($amount) 
    ) 
    ); 
    return json_encode($payload); 
} 

由于该库只检查内建函数的存在,增加了它,如果它丢失了,应该要求它后工作。

+0

谢谢你的答案我更新了PHP版本到5.6在OVH服务器上 –

相关问题