【发布时间】:2017-05-19 19:04:27
【问题描述】:
我遇到了以下问题:
我有一个非常简单的脚本,它通过POST 将用户转发到这个登录脚本:
session_start();
$_SESSION["job"] = "admin";
$_SESSION["login"] = true;
$_SESSION["email"] = "email@example.com";
$_SESSION["username"] = "example";
session_write_close(); # I added this because it was recommendet to solve my problem, which it unforunately doesn't do.
header("Location: ../home");
一旦执行此脚本,一切都会被阻止,在其脚本中执行session_start();。 TTFB 总是在 60s 以上
唯一的解决办法是每次都通过service apache2 restart重新启动apache。
我的Apache2 和PHP 已今天安装在绝对全新的服务器上,一切都按照官方说明进行了配置。此外,我在运行脚本的所有其他服务器上都遇到了这个问题。
有什么解决办法?我已经在互联网上搜索了几天......
【问题讨论】:
-
如果在
session_...closedie();之前添加会发生什么。这会改变TTFB吗?如果不是这种情况,请在header之后添加exit;。无论如何都建议这样做,因为可能还会执行不需要的代码。 -
@AMartinNo1 是的!为什么?我编写 PHP 代码大约 5 年了,从来没有过这个
-
“是的!”你指的是什么,我想它会减少 TTFB?
die或exit? -
ttfb 不见了,几乎是 0s - 我用过 die
-
很高兴知道。好吧,我想你在重定向之后放置了
exit/die。似乎在header语句之后执行了更多代码。不能肯定地说,因为我不知道你的代码。