用户在调用mysqli_real_connect时从PHP脚本接收到一条截断消息(最多19109个字符)
我有一个PHP脚本的问题,它有时返回截断的消息 流程:用户在调用mysqli_real_connect时从PHP脚本接收到一条截断消息(最多19109个字符),php,mysql,apache2,mysqli,Php,Mysql,Apache2,Mysqli,我有一个PHP脚本的问题,它有时返回截断的消息 流程: 用户调用search.php 脚本将处理该请求: a连接到数据库 b使用SimpleXML类构建XML c将SimpleXML类型转换为字符串 d将该字符串打印到客户端 在某些情况下,用户仅接收(输出到浏览器)部分消息 在研究这个问题后,我发现了以下事实: 最大长度为19109个字符->超过该长度,它将被截断 我记录了2.c typeCast XML字符串,发现日志包含完整的XML(不是截断的!) 其他返回更短/更长响应的脚本工作正常
- a连接到数据库
- b使用SimpleXML类构建XML
- c将SimpleXML类型转换为字符串
- d将该字符串打印到客户端
- 为了检查问题是否与SimpleXML或XML字符串有关,我在#2.d>上打印了一个不同的硬编码XML,它也被截断了
- 然后,我试图找到导致它的原因(而不同的硬编码XML仍然存在),因此我使用“die;”调试了脚本。然后Iv'e发现,只有调用mysqli_real_connect或mysql_real_connect时,返回值才会被截断
因此,请尝试在PHP安装中启用错误输出(
diplay\u errors
config指令)。解决这个问题的另一个好方法是检查mysql\u real\u connect
是否真的存在于So?。。。当您从MySQL检索数据或向用户输出数据时,数据是否丢失?我真的听不懂。祝贺这个格式良好的问题,因为它是第一个亲爱的Alin Purcaru,输出中的数据丢失了。但只有当我用同一个脚本连接到数据库时才会发生这种情况。这个问题是否与浏览器有关?例如,如果您使用lynx而不是Firefox触发调用,您会得到整个文档吗?我对Firefox的劣质XML处理有这个问题,它基于流中一个糟糕的UTF-8字符,处理了一个异常的中间文件。