PHP会话变量未保存在Centos Linux中?
当我在PHP版本5.1.6 linux centos系统中点击submit时,这个PHP脚本无法保存会话变量。这个问题会随着时间的推移而发生。目前,我通过重新启动机器临时解决了PHP的这个问题。然而,这并不是一个好的解决方案。这只是暂时的解决办法 以下是PHP会话信息:PHP会话变量未保存在Centos Linux中?,php,session-variables,Php,Session Variables,当我在PHP版本5.1.6 linux centos系统中点击submit时,这个PHP脚本无法保存会话变量。这个问题会随着时间的推移而发生。目前,我通过重新启动机器临时解决了PHP的这个问题。然而,这并不是一个好的解决方案。这只是暂时的解决办法 以下是PHP会话信息: Directive Local Value Master Value session.auto_start Off Off session.bug_compat_42 Off Off session.bug_com
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.save_path /var/lib/php/session /var/lib/php/session
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
在PHP核心下:
Directive Local Value Master Value
open_basedir /var/www/domain.com/httpdocs/public_html/:/tmp/ no value
我希望任何人都能提出为什么重新启动机器会解决未保存的临时PHP会话变量
当我点击提交按钮时,我的PHP代码使用会话变量来检查验证码值是否正确解决。点击submit后重新加载页面时,会执行下面显示的检查
<?php
session_start();
if($_SESSION['captcha_keystring'] == $_POST["keystring"]){
} // End: if capcha verification
else
{
echo "Wrong Capcha Entered!";
}
?>
即使这是验证码,如果正确解决了密钥串,也会失败。/tmp dir full?这将在重新启动时清除。。。您的服务器在哪里存储会话文件?我相信会话路径是根据phpinfo here session.save_path/var/lib/php/session保存的。好的,我怀疑重新启动时会清除这些文件,但请检查一下。如果失败,是所有会话都无法存储新数据,还是只有验证码?您的错误日志中还有其他内容吗?即使在重新启动后,会话仍无法正常工作。会话变量返回空白。错误文件指的是什么以及在哪里?首先,用df-h检查所有磁盘上的空闲空间。如果这不是问题所在,那么错误日志可能是apache的错误日志,但它几乎可以配置在任何地方。在Debian/Ubuntu中,我认为默认位置应该是/var/log/apache2/error\u log,但它可能在其他地方。另一个选项是临时将display_errors设置为on,让错误显示在html页面上。