session_start()将永远保持文件加载


session_start() keeps the file load forever

我使用的是带有XAMPP的PHP。我的PHP文件可以工作,但如果我在脚本的任何位置调用session_start()并运行它,在页面标题处写下"Waiting for localhost",并且页面将永远加载,那么只会显示一个空白页面并继续加载。

我还尝试启用错误,但没有显示错误。

运行:

<?php
echo "test";
?>

这不会运行(空白页面和页面永远加载)

<?php
session_start();
echo "test";
?>

编辑:根据Fred的建议,我将从phpinfo()result:发布我的会话信息

Session Support  enabled  
Registered save handlers  files user  
Registered serializer handlers  php php_binary wddx  
session.auto_start Off Off 
session.cache_expire 180 180 
session.cache_limiter nocache nocache 
session.cookie_domain no value no value 
session.cookie_httponly Off Off 
session.cookie_lifetime 0 0 
session.cookie_path / / 
session.cookie_secure Off Off 
session.entropy_file no value no value 
session.entropy_length 0 0 
session.gc_divisor 1000 1000 
session.gc_maxlifetime 1440 1440 
session.gc_probability 1 1 
session.hash_bits_per_character 5 5 
session.hash_function 0 0 
session.name PHPSESSID PHPSESSID 
session.referer_check no value no value 
session.save_handler files files 
session.save_path C:'xampp2'tmp C:'xampp2'tmp 
session.serialize_handler php php 
session.upload_progress.cleanup On On 
session.upload_progress.enabled On On 
session.upload_progress.freq 1% 1% 
session.upload_progress.min_freq 1 1 
session.upload_progress.name PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS 
session.upload_progress.prefix upload_progress_ upload_progress_ 
session.use_cookies On On 
session.use_only_cookies Off Off 
session.use_trans_sid 0 0 

在我自己的环境中研究过这一问题后,它似乎是XAMPP软件堆栈本身的一个小故障,我在系统错误日志中收到错误,表明子进程退出,并返回一个长状态代码,然后重新启动。这不是与PHP相关的错误,而是XAMPP中实现的错误。我已经将错误的详细信息转发给了该项目的开发成员Bitnami,希望他们能够解决这个问题并发布更新版本,同时我建议使用wamp。

当我在本地主机上同时运行多个使用session_start()的页面时,我遇到了这个问题。

"PHP默认情况下会将会话数据写入文件。当请求启动会话的PHP脚本(session_start())时,该会话文件将被锁定。这意味着,如果您的网页向PHP脚本发出大量请求,例如,通过Ajax加载内容,则每个请求都可能锁定会话并阻止其他请求完成。"http://konrness.com/php5/how-to-prevent-blocking-php-requests/