不,标题不会结束程序执行.你必须自己以退出或死亡结束它.您可以自己尝试这样的事情:
file_put_contents('/tmp/test', '1');
header('Location: http://www.emilvikstrom.se/');
file_put_contents('/tmp/test', '2');
?>
检查/ tmp / test的内容,你会发现它是2.
我也试过这个脚本:
header('Location: http://www.emilvikstrom.se/');
echo "Test\n";
?>
与telnet一起发送手动HTTP请求,结果如下:
HTTP/1.1 302 Found
Server: nginx/0.7.67
Date: Tue, 05 Jul 2011 07:27:14 GMT
Content-Type: text/html
Connection: close
X-Powered-By: PHP/5.3.3-7+squeeze1
Location: http://www.emilvikstrom.se/
Vary: Accept-Encoding
Content-Length: 5
Test
如您所见,在Location标头之后回显的所有内容仍然会发送到浏览器.事实上,如果您要向其发送更多标题,或者您回显的内容非常重要,那么PHP在标题调用后无法知道.