首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >php位置标头重定向即使在输出开始后也能正常工作

php位置标头重定向即使在输出开始后也能正常工作
EN

Stack Overflow用户
提问于 2018-06-05 20:52:44
回答 1查看 28关注 0票数 1

我认为如果你已经发送了一些输出,就不能在php中使用header('location:..进行重定向。但是,此测试程序在本地服务器上的工作方式与预期相同。

$ cat > index.php
Hello,
<?php

if ($_SERVER['REQUEST_URI'] !== "/") {
  header('location: /');
  die();
}

?>
World!

然后启动php本地服务器,如下所示

$ php -S localhost:8000

然后,当我转到http://localhost:8000/index.php?test=1时,它会将我重定向到http://localhost:8000

为什么它不抱怨我已经发送了输出?php 7有什么不同吗?现代浏览器有什么不同之处吗?演示服务器有什么不同之处?或者我需要做一些稍微不同的事情来得到我上次使用php时得到的错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-16 06:17:05

我尝试了你的脚本,对我来说,它报告了预期的“无法修改标题”警告,并且只显示了"Hello,“。

对于您来说,主要的不同之处在于php.ini中的output_buffering变量-如果它没有被禁用,那么它会自动缓冲输出到特定的大小。因此,检查它是否设置为"On“或类似于4096的值。默认值为Off,但有许多示例配置都启用了该选项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50700570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档