关于session存储到memcached失败问题

关于session存储到memcached失败问题

根据老师写的config.php的配置,我的直接连接不上

http://img1.sycdn.imooc.com//climg/5ce1507300012e0414010741.jpg

config.php代码如下

<?php

//设置session存储介质 为memcached

ini_set('session.save_handler','memcached');


//设置session存贮memcached的服务端口

ini_set('session.save_path', '192.168.1.104:11211');

//设置cookie名称

ini_set('session.name','imooc_id');


//设置session生存时间

ini_set('session.gc_maxlifetime',3600);

//设置session存储memcached key 前缀

ini_set('memcached.sess_prefix','memc.imooc');


session_start();


sess.php代码

<?php

require 'config.php';


if(isset($_SESSION['user_no'])&& !empty($_SESSION['user_no']))

{

        echo 'hello',$_SESSION['user_name'],'你已经登陆';

}else{

        if(isset($_GET['user_no'])&&intval($_GET['user_no'])==201611){

        //session_start();

        $_SESSION['user_no']=intval($_GET['user_no']);

        $_SESSION['user_name']=trim($_GET['user_name']);

        $key=ini_get('memcached.sess_prefix').session_id();

        echo "欢迎登陆,{$_SESSION['user_name']},你得key值是:{$key}";

        }else{

                echo '参数错误,请重新输入';

        }

}



正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕查理 2019-05-20 19:00:54

您好,1,检查是否开启memcached扩展,并运行memcached。

2.将ini_set('session.save_path', '192.168.1.104:11211');改为:ini_set('session.save_path', 'tcp://192.168.1.104:11211');。

祝学习愉快!

  • 提问者 慕仙0867536 #1
    xshell客户端测试memcached运行都没问题,照老师改了,用浏览器访问还不行
    2019-05-20 20:14:31
  • 提问者 慕仙0867536 #2
    你好老师,我终于找到了问题所在,希望通过你分享给同学,这个问题包括之后学习PHP扩展memcached类和方法都能解决,问题是::新的linux系统开启SElinux安全模式,关闭方法:临时关闭,重启无效 命令: setenforce 0 永久关闭,修改配置文件: 修改/etc/selinux/config 文件 将SELINUX=enforcing改为SELINUX=disabled 修改完是必须要重启的,但是如果现在不想重启那么让临时关闭的方法先生效一下即可 setenforce 0 用了这个方法保证好用,只要,只要跟着老师写出一样的代码,运行决定没有问题
    2019-05-20 23:28:08
  • 好帮手慕查理 回复 提问者 慕仙0867536 #3
    感谢同学提供的方案,已经收藏 ^_^ 点个赞!
    2019-05-21 10:57:50
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师