【发布时间】:2014-02-10 13:21:30
【问题描述】:
我刚刚花了几个小时来寻找我遇到的最奇怪的错误之一。我编写了一些 Javascript 代码,它可以动态生成一些 XML 并将其发送到运行 Apache 和 PHP 的服务器。
js代码sn-p为:
<script>
function dummy() {
var str2 = '<?xml version="1.0" ?>';
... add a bit more XML then send to server
}
</script>
在我运行 WAMP 的桌面上,它运行得很好。当我将其传输到运行 LAMP 的 Raspberry Pi 时,服务器会抛出错误 500 并拒绝提供该页面。
在确定哪些新代码破坏了系统时,我尝试注释掉包含 JS 代码的块(在脚本部分周围使用 HTML 注释),但无济于事。直到我真正删除了它才重新开始工作的行。确切地说,它不喜欢的是 'version="1.0"'。
我不明白的是,为什么 Apache 服务器或 PHP 在将页面提供给浏览器时甚至会查看这一行,或者更何况如果注释掉该块,它为什么会这样做。
如果我删除标头的“版本”部分,它会正常提供页面,但 XML 不起作用。
我对 PHP 和 JS 很陌生,所以我可能会遗漏一些明显的东西??
我正在运行所有软件的最新版本。
请给点意见?
危险
【问题讨论】:
-
检查 php.ini 选项
short_open_tag是否打开,如果打开,请尝试将其关闭,看看问题是否消失。 PHP 可能正在尝试将该 xml 标记解析为 php 代码。
标签: javascript php xml apache server-error