gpt4 book ai didi

php - 内容类型在 PHP 中不起作用

转载 作者:可可西里 更新时间:2023-10-31 23:06:38 25 4
gpt4 key购买 nike

我遇到了一些无法正常工作的 PHP 文件的问题。 Content-type 根本不会被任何浏览器接收。 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 header :)

John 需求的完整文件:

    <?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 :header('Content-Type: text/css'); - 仍然没有运气......

更新#4:已在服务器上重新安装 Apache+PHP 以查看问题是否消失,但没有。老样子,老样子……

最佳答案

检查 php.ini 文件中的 output_buffering 设置。如果它没有设置为“off”,那么 PHP 会自动为你做输出缓冲。将其设置为关闭并在 header 命令之前回显某些内容,您应该会看到“经典错误”。

您不应该使用结尾 ?>。我知道这是一个有争议的建议,但很多时候人们会在它后面添加一个回车和/或空格,它会输出到浏览器(在标题之前)。在极少数情况下,不使用它会导致问题。

关于php - 内容类型在 PHP 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2508718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com