致命错误:调用未定义的函数:json_encode()

时间:2017-10-12 15:43:31

标签: php json

我得到了一个"致命错误:调用未定义的函数:json_encode()"在我的php文件上托管在ovh服务器上。这是代码:

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之外还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

json_encode()需要php> = 5.2。听起来你服务器运行的东西早于那个(你可以用phpversion()功能查看你的php版本。

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

使用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); 
}

由于这个库只检查内置函数是否存在,如果它缺失则添加它,它应该在需要它之后才能工作。