Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我调用session_start(),脚本挂起,什么也没发生_Php_Session - Fatal编程技术网

Php 我调用session_start(),脚本挂起,什么也没发生

Php 我调用session_start(),脚本挂起,什么也没发生,php,session,Php,Session,我正在运行php5,但是只要我调用session_start()脚本 挂起,什么也没发生。是否有其他人遇到此问题,或者 我做错什么了吗 我在index.php上使用session_start(),有时出于某种原因 它会失败的。没有警告,没有错误,没有通知,甚至在 预编错误报告(E_ALL)和ini_集合(“显示错误”,真) 在session_start()之前,我看不到任何东西,它只是一模一样。原因有很多,这里有几个: A.会话文件可以以独占方式打开。 当文件锁由于任何原因未被正确释放时,它会导

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

我在index.php上使用session_start(),有时出于某种原因 它会失败的。没有警告,没有错误,没有通知,甚至在 预编错误报告(E_ALL)和ini_集合(“显示错误”,真)
在session_start()之前,我看不到任何东西,它只是一模一样。

原因有很多,这里有几个:

A.会话文件可以以独占方式打开。 当文件锁由于任何原因未被正确释放时,它会导致会话_start()无限期地挂起,等待将来的脚本执行。 解决方法:使用session\u set\u save\u handler()并确保write函数使用fopen($file,'w')而不是fopen($file,'x')

B.切勿在php.ini文件(entropie文件到“/dev/random”)中使用以下内容,这将导致会话_start()挂起:


C。 会话_start()需要一个要写入的目录

您可以在普通用户帐户中运行Apache plus PHP。然后Apache当然必须侦听80以外的端口(例如8080)

请务必执行以下操作: -创建临时目录前缀/tmp -将php.ini放在PREFIX/lib中 -编辑php.ini并将session.save_路径设置为刚创建的目录


否则,您的脚本将在会话_start()上看起来“挂起”。

它会死还是挂起?我的意思是,页面是否永远都在加载?您正在设置PHPSESSID吗?会话文件是在服务器上创建的吗?我假设脚本应该有输出,对吗?(“是的,烤面包机已经插好了。”)您检查过日志了吗?第一点是长时间运行的php进程的更大问题,例如服务器发送事件处理程序。花了一段时间找出了问题所在——莫杜安全和阿帕莫是第一批嫌疑犯。
<?php
ini_set("session.entropy_file", "/dev/random");
ini_set("session.entropy_length", "512");
?>