gpt4 book ai didi

php - 用户在调用 mysqli_real_connect 时收到来自 PHP 脚本的截断消息(最多 19109 个字符)

转载 作者:搜寻专家 更新时间:2023-10-31 22:15:58 27 4
gpt4 key购买 nike

我的 1 个 PHP 脚本有问题,它有时会返回截断的消息。

流程:

  1. 用户调用 search.php
  2. 脚本处理请求:

    • a 连接到数据库
    • b 使用 SimpleXML 类构建 XML
    • c 将 SimpleXML 类型转换为字符串。
    • d 将该字符串打印到客户端。
  3. 在某些情况下,用户仅接收(输出到浏览器)部分消息

在检查了这个问题之后,这些是我发现的事实:

  1. 最大长度为 19109 个字符 -> 超过此长度,它会被截断。
  2. 我记录了 2.c typeCast XML 字符串并发现该日志包含完整的 XML(未被截断!)。
  3. 其他返回较短/较长响应的脚本工作正常。
  4. 问题与数据库连接有关:

    • 为了检查问题是否与 SimpleXML 或 XML 字符串有关,我在 # 上打印(输出到浏览器)diffrent-hardcoded-XML 2.d -> 它也被截断了。

    • 然后我尝试找出可能导致它的原因(虽然 diffrent-hardcoded-XML 仍然存在),所以我使用“die;”调试脚本。然后我发现只有在调用 mysqli_real_connect 或 mysql_real_connect 时,它才会截断返回值。

关于如何解决/调试这个问题有什么想法吗?

最佳答案

也许 message #2给你答案?总之,PHP手册refuses PHP 中几乎不存在这样的函数。

如果是这种情况,您可能会看到截断的输出,因为您启用了隐式刷新,因此响应会在脚本执行期间立即刷新到浏览器。然后,在某个时刻脚本调用 mysql_real_connect,它不存在。这会导致脚本停止执行,因此您会看到部分形成的输出。如果您禁用了 display_errors - 您将看不到错误消息。

因此,请尝试在您的 PHP 安装中启用错误输出(diplay_errors 配置指令)。解决此问题的另一个好方法是检查 mysql_real_connect 是否确实存在 function_exists

关于php - 用户在调用 mysqli_real_connect 时收到来自 PHP 脚本的截断消息(最多 19109 个字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6252844/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com