【问题标题】:PHP issue. Output stops sometimes after a specific echoPHP 问题。输出有时会在特定回声后停止
【发布时间】:2018-08-27 12:44:43
【问题描述】:

我遇到了一个不知道如何调试的问题。有时,在特定的回显之后,输出会在 PHP 脚本中途突然停止。

这是代码的一部分。在someLonJsonString 之后,输出有时会停止。当输出停止时,刷新页面也没用,所以它也与值有关?

<div class="ac-calendar-options">
    <div class="timestamp"><?php echo $currentTimestamp;?></div> 
    <div class="someLongJsonString"><?php echo $someLongJsonString;?></div>
    <!-- The output of the script will cut off here -->
    <div class="timezone"><?php echo $timezone;?></div>
</div>

刷新无济于事,但在长 Json 字符串之前添加一些无用的回显确实有帮助:

<div class="ac-calendar-options">
    <div class="timestamp"><?php echo $currentTimestamp;?></div> 
    <div style="display:none"><?php echo "test"; ?></div>
    <div class="someLongJsonString"><?php echo $someLongJsonString;?></div>
    <div class="timezone"><?php echo $timezone;?></div>
</div>

当我删除fix 时,问题又回来了。上面的fix 确实为该项目修复了它,但过了一会儿,它再次弹出,但为另一个带有另一个 JSON 字符串的项目。

如何调试这个问题?即使暂时显示该页面/项目的错误也可以解决问题。而且我只是不明白为什么一个简单的回声会暂时解决问题。


自从我们从 5.6 迁移到 php 7.x 后,这个问题神奇地解决了。

【问题讨论】:

  • 也许你达到了时间限制?试试set_time_limit(0);
  • JSON 字符串里面有什么?如果您使用htmlspecialchars 正确转义它会发生什么?
  • 尝试在浏览器中查看源代码,可能会有提示。
  • 你的 JSON 字符串中很可能有一些特殊字符。正确地转义它或做任何你需要标准化你的输出。
  • @Peter 我将进行一些转义。现在它或多或少没有转义。我仍然觉得奇怪为什么 PHP 会完全停止输出,而不仅仅是弄乱 html。问题一周左右出现一次,所以如果再次出现,我必须等待。

标签: php echo


【解决方案1】:

自从我们从 5.6 迁移到 php 7.x 后,这个问题神奇地解决了。恐怕我无法提供任何其他信息,仅此而已...

【讨论】:

    猜你喜欢
    • 2017-03-21
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 2021-12-27
    • 1970-01-01
    • 2020-08-09
    相关资源
    最近更新 更多