Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php json_encode返回空和下面的块代码_Php_Json_Slim - Fatal编程技术网

Php json_encode返回空和下面的块代码

Php json_encode返回空和下面的块代码,php,json,slim,Php,Json,Slim,我在PHP中遇到了一个json_encode()问题。 下面的简单函数尝试将响应数据发送到API调用 function makeResponseOK($data) { if($data) $response['data'] = $data; $response['meta'] = ['msg' => 'OK', 'status' => 200]; header('Content-type: application/json'); return json

我在PHP中遇到了一个json_encode()问题。

下面的简单函数尝试将响应数据发送到API调用

function makeResponseOK($data) {
    if($data) $response['data'] = $data;
    $response['meta'] = ['msg' => 'OK', 'status' => 200];
    header('Content-type: application/json');
    return json_encode($response, JSON_PRETTY_PRINT);
}     
它在我的MAC电脑上运行得非常好。然而,当我试图在我的Ubuntu服务器上部署它时,json_encode()根本不起作用,json_encode()下面的任何一行都被忽略了。 例如:

echo 'crazy';
echo json_encode($data);
echo 'crazy';
只会输出一个“疯狂”给我。我还尝试:

echo json_last_error_msg();
echo json_last_error();
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
但是他们都没有给我任何结果,甚至没有一个数字

我完全不知道那里发生了什么,如果你能帮我,我真的很感激


另外:我的Ubuntu服务器的PHP版本是5.5.3,我使用的是SLIM framework,idorm(虽然我认为这与此无关…

这里您刚刚使用了
json
使用
json\u encode

$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr); // Here!
echo json_last_error_msg();
echo json_last_error();

尝试检查您的服务器上是否有
json\u encode
。我知道默认情况下它应该在那里,但我遇到了一些服务器,在那里该功能不可用

if (function_exists('json_encode')) {
    echo 'Yes';
} else {
    echo 'No';
}

您是否已验证安装了json?我认为它应该列在
php-I
json\u encode
下,只返回
string
false
。据我所知,它不会返回
null
。请打开所有错误报告(将
error\u reporting(-1);
放在脚本顶部),然后重试。显然,您的ubuntu服务器上有PHP5.5。由于许可证问题,PHP5.5中没有JSON。@Brett我明白了。这就是问题所在。我没有注意到PHP5.5的许可证问题。。。那是疯狂的银行@AxelPAL。我检查了冲突原因。。。这是一个有趣的小故事……对不起,这是一个打字错误……不过我在代码中正确地使用了它:)