在PHP中无法连接Memcached的解决办法

Memcached 已经正确安装配置, 并且防火墙也已经打开了本机对自己所有端口的访问, telnet localhost 11211也正常, 但是通过PHP访问出现

[Sat May 17 22:02:42 2014] [error] [client 59.109.104.166] PHP Warning: Memcache::connect(): Can't connect to 127.0.0.1:11211, Permission denied (13) in /var/www/html/test.php on line 8

这是由于SELinux的配置引起的. 通过 sudo getenforce 可以看到 SELinux 处于打开状态, 这时候可以通过这个命令允许httpd对本机其他服务的访问:

sudo setsebool httpd_can_network_connect=1

用于测试memcached的PHP脚本:

connect($server);

    if ($isMemcacheAvailable) {
        $aData = $memcache->get('data');
        echo '
';
        if ($aData) {
            echo '

Data from Cache:

';
            print_r($aData);
        } else {
            $aData = array(
                'me' => 'you',
                'us' => 'them',
            );
            echo '

Fresh Data:

';
            print_r($aData);
            $memcache->set('data', $aData, 0, 300);
        }
        $aData = $memcache->get('data');
        if ($aData) {
            echo '

Memcache seem to be working fine!

';
        } else {
            echo '

Memcache DOES NOT seem to be working!

';
        }
        echo '
'; } } if (!$isMemcacheAvailable) { echo 'Memcache not available'; } ?>

25 sudo getenforce

26 sudo ifconfig

27 sudo vi /etc/rc.d/init.d/memcached

28 sudo setsebool httpd_can_network_connect=1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值