【问题标题】:PHP Stops Parsing Too SoonPHP 过早停止解析
【发布时间】:2014-09-22 17:32:02
【问题描述】:

我刚刚将服务器切换到运行 PHP 版本 5.5.9 和 Nginx 的服务器,正在解析的 php 代码中间是以下代码:

$this_page_cats = array ("Examples<br>& Solutions");

在这个新服务器上,php 在上面的“
”中的“>”处停止解析,而不是等到真正结束代码的“?>”。我假设有一些简单的配置指令可以解决问题,但我似乎无法在谷歌搜索中找到它。

谢谢!

【问题讨论】:

  • 你怎么知道php在'>'处停止解析?屏幕上有一些错误?您的日志文件中有什么内容?
  • “br>”之后的所有内容都在公共网页上可见,而在它之前则什么都没有
  • 旧服务器上的 PHP 版本是什么?
  • 可能是代码错误。之前某处的额外报价,或迁移过程中可能发生的另一个类似问题。当您在具有代码突出显示的编辑器中查看整个文件时,您可能会立即看到它。我认为没有指令以 &lt; 结束字符串。
  • 我相信是 5.2

标签: php parsing tags


【解决方案1】:

不是 PHP 停止解析,而是 PHP 根本没有被解析:

例如由于 PHP 无法正常工作,您的 PHP 代码将按原样输出到用户的浏览器:

<?php
^---start of unknown HTML tag
$this_page_cats = array ("Examples<br>& Solutions");
                                     ^---end of unknown HTML tag

执行“查看源代码”,您可能会看到所有 php 代码。

【讨论】:

  • 嗨,Marc...我认为你是对的,但错误现在已经消失,所以我无法确认。我确实从页面开始没有为 php 解析 .htm 文件,之后我完成了一切,但上面的错误开始起作用了。我想我可能只是在查看这些页面,因为我的浏览器在解析它们之前缓存了它们......
猜你喜欢
  • 2013-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-09
  • 2020-09-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多