会话重新生成ID超过最长执行时间?

时间:2012-04-13 04:37:22

标签: php session fatal-error

出于某种原因,有时候,在共享服务器上运行时,我的PHP代码会出现以下致命错误:

  

致命错误:第8行的C:\ HostingSpaces [username] [subdomain] \ wwwroot \ index.php超出了30秒的最长执行时间

那条线就是:

session_regenerate_id();

这个问题可能来自托管在共享服务器上的代码和资源不可用吗?或者是否有其他原因导致此问题?

由于它是共享服务器,我无法更改任何PHP设置。

修改

第8行之前的唯一一行是模型对象的几条require_once行。唯一的另一行是session_start()

我检查了我的PHP设置,并指出session.save_handler是本地值和主值的文件。由于它正在使用文件,问题可能是尝试从磁盘读取和写入?

1 个答案:

答案 0 :(得分:1)

我认为您的问题可能是您怀疑的性能和资源问题,但我觉得奇怪的是它只停在第8行。我猜如果剩下的代码非常多,那么机会可能会很高最小的。

您是否尝试更改代码以尝试在其他行上发生超时?例如,您可以尝试添加sleep(25);并查看是否在该行发生了致命超时。

另外,您确定无法设置最长执行时间限制吗?我怀疑即使你不能改变共享的php.ini,也可以通过以下其中一个选项设置max_execution_time

我相信max_execution_time的值/参数以秒为单位,如果将其设置为0(零),则将使用NO执行时间限制。 (你认为使用零是否安全取决于你。)