0

我没有让 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。

请帮忙?

4

2 回答 2

1

听起来您的脚本中的其他地方可能存在致命错误。确保在 php.inidisplay_errors中设置为。On

于 2013-08-12T19:49:05.717 回答
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)

PHP 的错误日志从哪里驻留在 XAMPP 中?

\xampp\apache\logs\error.log

或者

\xampp\php\logs\php_error_log
于 2013-08-12T20:16:06.670 回答