为了账号安全,请及时绑定邮箱和手机立即绑定

php下session入memcached

标签:
PHP

一、安装Apache2.4+PHP5.6

Apache2.4配置httpd.conf


    ServerRoot "c:/Apache24"
    Listen 8080
    DocumentRoot "c:/Apache24/htdocs"
    <Directory "c:/Apache24/htdocs">
    # php5 support
    LoadModule php5_module c:/php-5.6.15-Win32-VC11-x86/php5apache2_4.dll
    AddType application/x-httpd-php .php .html .htm
    # configure the path to php.ini
    PHPIniDir "c:/php-5.6.15-Win32-VC11-x86"
  
memcache存放超过三十天的数据,0表示永不过期,expire最大是30*3600*24秒
  bool Memcache::add  ( string $key  , mixed  $var  [, int $flag  [, int $expire  ]] )

time()+天数*3600*24即可




memcached无用户名和密码机制,启用防火墙封杀11211端口
只允许本地访问11211端口
    iptables -a input -p tcp -s 127.0.0.1 -dport 11211 -j ACCEPT


二、session入memcached

      <?php
    //传统的代码
    session_start();
    $_SESSION['name']='天龙八部'; 
    //取出
    $name=$_SESSION['name'];
     echo "name=$name";
    ?>

传统php.ini中配置session存放在文件中

        [Session]
    session.save_handler=files
    session.save_path="c:/windows/temp"

修改php.ini文件,加载php_memcache.dll(版本要与php版本一致,放在php安装目录下的ext目录)

    extension=C:\php-5.6.15-Win32-VC11-x86\ext\php.memcache.dll

    session.save_handler=memcache
    session.save_path="tcp://127.0.0.1:11211"

session入memcache代码
 
    <?php
    session_start();
    $_SESSION['name']='天龙八部100';
    $_SESSION['city']='beijing';
    
    //如果session数据入mem,那它一定是以session_id为key值进行添加
    //取出
    $name=$_SESSION['name'];
     echo "name=$name";
     echo "sessionid=".session_id();
    ?>

如果不使用memcache php.memcache.dll扩展支持,可以使用memcached_client.php原生函数,只不过效率低


如果管理员不让我们修改php.ini文件,我们如何实现session入memcached功能,我们通过ini_set函数动态修改php.ini的配置,只作用于本页面,别的php页面不受影响,配置文件也不会被修改

    ini_set("session.save_handler","memcache");
    
    ini_set("session.save_path","tcp://127.0.0.1:11211");

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消