gpt4 book ai didi

php - 我调用 session_start() 脚本挂起,没有任何反应

转载 作者:行者123 更新时间:2023-12-04 06:52:38 26 4
gpt4 key购买 nike

我正在运行 php5,但是一旦我调用 session_start() 脚本
挂起,什么也没有发生。有没有其他人遇到这个问题,或者
我做错了什么吗?

我在 index.php 上使用 session_start() 有时出于某种原因
它会失败。没有警告,没有错误,没有通知,甚至没有
前置 error_reporting(E_ALL) 和 ini_set('display_errors', TRUE)
在 session_start() 之前我看到任何东西,它只是简单地死了。

最佳答案

造成这种情况的原因有很多,这里有几个:

A. session 文件可以以独占方式打开。
当文件锁由于某种原因没有正确释放时,它会导致 session_start() 在任何 future 的脚本执行中无限挂起。
解决方法:使用 session_set_save_handler() 并确保写入函数使用 fopen($file, 'w') 而不是 fopen($file, 'x')

B. 永远不要在你的 php.ini 文件中使用以下内容(熵文件到“/dev/random”),这会导致你的 session_start() 挂起:

<?php
ini_set("session.entropy_file", "/dev/random");
ini_set("session.entropy_length", "512");
?>

C。
session_start() 需要一个要写入的目录。

您可以在普通用户帐户中运行 Apache 和 PHP。当然,Apache 将不得不监听 80 以外的其他端口(例如,8080)。

务必做到以下几点:
- 创建一个临时目录 PREFIX/tmp
- 将 php.ini 放在 PREFIX/lib 中
- 编辑 php.ini 并将 session.save_path 设置为刚刚创建的目录

否则,您的脚本似乎会在 session_start() 上“挂起”。

关于php - 我调用 session_start() 脚本挂起,没有任何反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2902595/

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