我在定义命名空间(别名)时注意到奇怪的mimetype行为。每当我定义一个名称空间或包含\input
的别名时,php源文件的mimetype从text/x-php
变为text/x-tex
。
最小的 example.php 可能看起来像\input
的环境并不重要。
<?php namespace \input; ?>
运行file --brief --mime-type example.php
时,会打印mimetype text/x-tex
而不是预期的text/x-php
。
只要删除input
之前的反斜杠,mimetype就会切换回text/x-php
。
有人可以确认这种行为吗? 有人知道发生这种情况的原因吗? 除了更改命名空间本身之外,有没有人为此获得修复/解决方法?
答案 0 :(得分:2)
file
实用程序仅使用基于文件内容的一些启发式算法。在你的情况下,它看到了
\input
,它是TeX 似乎某种方式\input
= TeX优先于<?php
= PHP。
file
实用程序不查看文件扩展名。
此外,这与您保存文件或使用哪个编辑器无关。这只是file
的重要内容。
但是,这并不会改变PHP解释器,网络服务器或浏览器处理文件的方式。
(以某种方式相关:File on php showing HTML document)