我没有让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。
请帮忙吗?
答案 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