【问题标题】:Internal server error while decoding a json file解码 json 文件时出现内部服务器错误
【发布时间】:2012-02-28 11:06:05
【问题描述】:

我正在打开一个 JSON 文件并对其内容进行解码,因此我可以使用 MySQL 将内容插入到我的数据库中:

[{"publisher": "some publisher", "img": "url to image", "title": "some title", "platform": "some platform", "year": "2012", "genre": "some genre", "desc": "this is the description", "id": "1", "developer": "some developer"}]

这只是文件中的一项。 JSON 文件包含超过 10000 个。我在使用json_decode($file) 时获得了内部服务器。读取文件和var_dump($file) 工作得很好。所以我的问题是,这是一个好的 JSON 文件吗?或者如何解码并插入数据库?

提前致谢。

【问题讨论】:

  • 您是否有权访问您的服务器错误日志以了解更多信息?您可以尝试激活错误报告吗?可能是您达到了内存限制。
  • 是的,我达到了内存限制。增加 php.ini 的限制就可以解决这个问题吗?
  • 是的,这将解决问题,或者正如我的回答所说,使用 ini_set

标签: php mysql json internal-server-error


【解决方案1】:

如果文件太大,可能是 php 内存不足或执行时间不足,但如前所述,先从查看日志文件开始。

【讨论】:

  • 干得好,重复 OP 声明内存不足的评论。
【解决方案2】:

再次,您需要错误,但与其他说明查看日志文件不同,我确实理解有时您无法确定某些主机,例如,

要让您的脚本显示错误,请使用

error_reporting(2047); 
ini_set("display_errors",1);

如果您遇到内存错误,请使用 ini_set('memory_limit', '128M');

这应该允许它,如果没有或抛出错误,因为您调用 ini_set 您需要联系您的服务器主机并要求他们允许更多内存

【讨论】:

    【解决方案3】:

    那个 JSON 片段没有任何问题。

    您应该查看报告的特定错误消息(通过在 Web 服务器之外运行 PHP,或查看错误日志)。内部服务器错误只是意味着“出了点问题,管理员/开发人员应该查看日志”。

    【讨论】:

      【解决方案4】:

      我遇到了同样的错误。我通过将我的json_decode($whatever) 代码更改为json_decode($whatever, TRUE) 来修复它。我希望这对某人有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-18
        • 2017-07-23
        相关资源
        最近更新 更多