【发布时间】:2012-07-19 21:54:17
【问题描述】:
我有一个带有 LAMP 堆栈的 Ubuntu 服务器。我有一些中间有 php 的 javascript。
过去一年代码运行良好,但现在在浏览器中查看时出现了一组奇怪的字符:
‹
它似乎与 .js.php 文件扩展名有关。我可以将其简化为:
- 创建test.php
- 创建 test.xx.php
- 创建 test.js.php
- 用vi编辑文件并输入单词
test - 在网络浏览器中查看它们
-
http://example.com/test.php 将显示
test -
http://example.com/test.xx.php 将显示
test -
http://example.com/test.js.php 将显示
test ‹
在记事本++中,它显示实际上有几个额外的字符:
它不是标准的 PHP 开放式括号 <,这可能是有意义的。
在 Google 中寻找“.js.php”或字符毫无结果,所以我完全陷入困境。
【问题讨论】:
-
请下载(在浏览器中查看)example.com/test.php 并查看比较记事本++。还请检查文件大小和字节并发布。 (我怀疑它们都是一样的,但是 text/html 或 text/js 的不同解释使它们看起来不同)
-
从浏览器下载的 test.php 源代码视图只包含 test 而没有其他内容。 test.php 和 test.js.php 的文件大小都是 5 个字节。如果您将 test.js.php 重命名为 test.xx.php 或 test.js,那么它只会在浏览器源代码视图中显示“test”。
-
@RichardW11 我唯一能想到的是一些 UTF-8 文件末尾的字节对象标记,否则 apache 服务器正在做某事,但我只是猜测
-
文件内容是包含“test”的一行?空行没有换行符?实际文件,而不是下载的源视图。
-
尝试在文件
Header("content-type: application/x-javascript");的开头添加标题调用
标签: php javascript apache