JSON无法在php脚本中运行

时间:2013-08-12 19:43:46

标签: php json

我没有让json_encode在我的php文件中工作。比如,我尝试了这个来自php.net的例子

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>

但没有任何作用。如果我删除echo语句,那么我的php工作,这意味着php无法识别json_encode代码。

我正在使用PHP 5.4.16。总结一下,我使用的是xampp 1.8.2。

请帮忙吗?

2 个答案:

答案 0 :(得分:1)

听起来你的脚本中的其他地方可能会出现致命错误。确保在php.ini中将display_errors设置为On

答案 1 :(得分:0)

如果没有提供更多调试,这个问题就无法回答。

如同建议的评论一样,在所有内容之前使用这些行(尝试)启用错误报告:

<?php
header('Content-Type: text/plain');
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('display_startup_errors', true);
// Json
echo json_last_error();

使用phpinfo();获取有关PHP版本和JSON支持的信息。

此片段将告诉您json功能是否可用:

<?php
if (!function_exists('json_encode')) {
    echo 'PHP not compiled with json support', PHP_EOL;
}

最后但并非最不重要的是,检查错误日志

/var/log/httpd*
/var/log/nginx*
/var/log/php-fpm*
/var/log/apache*
.... (linux)

来自Where does PHP's error log reside in XAMPP?

\xampp\apache\logs\error.log

\xampp\php\logs\php_error_log