Centos Linux中没有保存PHP会话变量?

我在PHP版本5.1.6中点击提交时,我的PHP脚本无法保存会话变量 linux centos系统。 这个问题随着时间推移而发 目前我通过重启机器临时解决了这个问题。 但是,这不是一个好的解决方案。 这只是一个临时解决方案。 </ p>

这是PHP会话信息:</ p>

 指令本地值主值
session.auto_start关闭
session.bug_compat_42关闭关闭
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 / /
sesession.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
</ code> </ pre>

在PHP核心下 :</ p>

 指令本地值主值
open_basedir /var/www/domain.com/httpdocs/public_html/:/tmp/无值
</ code> </ pre >

我希望有人建议为什么重启机器会解决未保存的临时PHP会话变量。</ p>

我的PHP代码使用会话变量检查验证码值 当我点击提交按钮时正确解决。 如果页面在提交命中后重新加载,则会执行以下检查。</ p>

 &lt;?php 
session_start();

if($ _ SESSION ['captcha_keystring'] == $ _POST [“keystring”]){

} //结束:如果capcha验证

else
{
echo“错误的Capcha Entered!”;
}

\ n?&gt;
</ code> </ pre>

即使这是正确解决了captcha_keystring,也会失败。</ p>
</ div>

展开原文

原文

I am having this PHP script that fails to save the session variable when I hit submit in my PHP Version 5.1.6 linux centos system. This problem happens over time. Currently I temporary solve this problem with PHP by rebooting the machine. However, this is not a good solution. It is just a temporary solution.

Here is PHP Session info:

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

Under PHP core:

Directive   Local Value Master Value
open_basedir    /var/www/domain.com/httpdocs/public_html/:/tmp/ no value

I would like anyone to suggest why rebooting the machine solves the temporary PHP session variables not saved.

My PHP code uses session variable to check if the captcha values are solved properly when I hit submit button. This check shown below is done when the page reloads after submit is hit.

<?php
session_start();

if($_SESSION['captcha_keystring'] == $_POST["keystring"]){


} // End: if capcha verification


else
{
        echo "Wrong Capcha Entered!";
}

?>

Even when this is captcha_keystring is solved properly this fails.

duanjie6912
duanjie6912 首先,使用df-h检查所有磁盘上的自由空间。如果这不是问题,错误日志可能是apache的错误日志,但它可以配置为几乎任何地方。在Debian/Ubuntu中,我认为默认位置是/var/log/apache2/error_log,但它可能在其他地方。另一种选择是暂时将display_errors设置为on,让错误显示在你的html页面上。
8 年多之前 回复
dongping4461
dongping4461 此时,即使重启后,会话也根本无法正常工作。会话变量返回空白。您指的是错误文件的内容和位置?
8 年多之前 回复
donglu7998
donglu7998 好的,我怀疑在重新启动时会清理它(尽管检查它)。如果失败,是否所有会话都无法存储新数据,或仅存储验证码?您的错误日志中还有其他内容吗?
8 年多之前 回复
doujiao8491
doujiao8491 我相信会话路径是根据phpinfo()这里session.save_path/var/lib/php/session保存的。
8 年多之前 回复
dongpan8928
dongpan8928 /tmpdir满了吗?(将在重新启动时清除...)您的服务器在哪里存储会话文件?
8 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐