我在OpenSuse发行版上使用本地主机,但无法正常进行PHP会话。
对于请求所需的每个文件,我都有一个session_start()
,下面是一个简单的2页示例的例子:
login.php -> index.php
:提交仅包含1个输入(name='loginname'
)的表单后,表单将对index.php进行操作。在index.php中,我正在使用session_start()
,并正确检索了$_POST['loginname']
。一切都很好。index.php -> login.php
:正确设置了会话的cookie,我看到了它(在我的cookie_save_path和浏览器中)。现在,如果我单击登录超链接,该超链接将导致login.php并在文件开头包含session_start()
,而不是使用上一个会话,而是创建一个新会话!真是难以置信!我检查了很多东西:
php.ini
:我为session.save_path
设置了一个特殊的文件夹,该文件夹具有777访问权限(以确保此侧没有问题)。我还检查了其他参数,一切似乎都很好:session.auto_start : 0
(不需要,我正在使用session_start()
),session.cache_expire : 180
,session.use_cookies 1
,session.use_only_cookies 1
,{ {1}},session.use_strict_mode 0
,session.use_trans_sid 0
,session.cookie_lifetime 0
... session.cookie_secure 0
:我的配置文件中存在一个先前的错误,该错误显示为“无法可靠地确定服务器的完全合格域名”。通过将httpd.conf
放入我的ServerName localhost
文件中,可以解决此问题。httpd.conf
发送20个请求,我的**login->index index->login**
中将有20个文件:10空(登录)10个包含序列化数据(登录后的索引)。如果您有任何想法,请随时在这里写。
谢谢。
致谢。