【问题标题】:String is too long for echo function?字符串对于回显功能来说太长了?
【发布时间】:2019-07-13 19:49:55
【问题描述】:

我已经尝试过多次使用“echo”方法打印字符串,但是当字符串变得太大时,它似乎会抛出 502 Bad Gateway?

我正在使用 PhpStorm 的内置网络服务器。

有人知道如何解决此问题或可以提供解决方法吗?

我尝试过使用多个字符串,但显然只有较短的字符串会给我 200 响应。

服务器在下面的示例中抛出 502,但如果我删除部分 "\"maths\" ..... 右括号或其他任何东西以使其更短,它会返回 200。这包括非JSON 字符串也是如此。

<?php
header("Content-Type:application/json");
echo "{
    \"quiz\": {
        \"sport\": {
            \"q1\": {
                \"question\": \"Which one is correct team name in NBA?\",
                \"options\": [
                    \"New York Bulls\",
                    \"Los Angeles Kings\",
                    \"Golden State Warriros\",
                    \"Huston Rocket\"
                ],
                \"answer\": \"Huston Rocket\"
            }
        },
        \"maths\": {
            \"q1\": {
                \"question\": \"5 + 7 = ?\",
                \"options\": [
                    \"10\",
                    \"11\",
                    \"12\",
                    \"13\"
                ],
                \"answer\": \"12\"
            },
            \"q2\": {
                \"question\": \"12 - 8 = ?\",
                \"options\": [
                    \"1\",
                    \"2\",
                    \"3\",
                    \"4\"
                ],
                \"answer\": \"4\"
            }
        }
    }
}";

我找不到任何错误日志。当字符串太大时,唯一显示的是 502 Bad Gateway。

【问题讨论】:

  • 把这些行放在你的脚本上面error_reporting(E_ALL); ini_set('display_errors', 1);也许你的错误默认在你的php版本上被禁用
  • @MAZux 感谢您的快速回复。我确实启用了错误,并且我还尝试了上面的脚本以确保它,但回显代码不会引发任何错误。
  • 您可能没有返回有效的 JSON。尝试删除标题,看看它是否打印正确。
  • @user1309690 根据我尝试过的每个 json 验证器,json 都是有效的,但我确实尝试删除标题,但最终得到了相同的结果。同样如前所述,它也发生在非 json 字符串中。
  • 我可以复制它。请注意,这是 PhpStorm 的内置 Web 服务器(用 Java 编写,仅适用于静态资产)和 PHP 的内置 Web 服务器(用 PHP 编写,仅适用于 PHP 代码)之间的通信问题,恕我直言,很可能是 PhpStorm 中的一个错误。 IDE 日志(“帮助/在资源管理器中显示日志”)是否显示与您相关的内容?我得到“java.lang.IllegalArgumentException: minimumReadableBytes: -1003 (expected: >= 0)”,这对我来说没什么意义。

标签: php phpstorm


【解决方案1】:

这似乎是 phpstorm JavaVM 中的一个已知错误。

交换到 apache 服务器对我来说是成功的。 说明可以在这里找到PHPstorm 10.0.3 Error 502 Bad Gateway (Due to JavaVM?)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多