我遇到了一些无法正常工作的 PHP 文件的问题。任何浏览器都不会收到内容类型。Firebug 将文件解释为 text/html 而不是 css。这是文件:
<?php
header('Content-Type: text/css; charset=UTF-8');
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 'On');
/* CSS goes on from here */
我测试在标题行之前放置一行echo 'TEST';
,并期待看到经典的“标题已发送”错误,但没有出现!
然而,普通的 .css 文件就像一个魅力一样工作。
我能做些什么来解决这个问题?
更新:在 php.ini 中进行
了更改default_mimetype = "text/html"
,default_mimetype = "text/css"
并且所有页面都立即被解释为 css,因此必须有一种方法可以只发送此文件的 css 标头:)
约翰要求的完整文件:
<?php
header('Content-Type: text/css; charset=UTF-8');
echo 'body {background-color: #000000; }';
?>
更新#2:
添加ini_set('default_mimetype', 'text/css');
到 PHP 文件修复了这个文件,但它并没有解决导致这个错误的问题......
更新#3:
测试添加AddType text/css .css
到 .htaccess 和 Apache 配置。仍然没有运气。还测试发送与字符集分开的标题:header('Content-Type: text/css');
- 仍然没有运气......
更新#4: 在服务器上重新安装了 Apache+PHP 以查看问题是否消失,但没有。一样的老,一样的老……