Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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会话变量未保存在Centos Linux中?_Php_Session Variables - Fatal编程技术网

PHP会话变量未保存在Centos Linux中?

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

当我在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_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页面上。