博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 安装基于(PHP5.5)memcache扩展
阅读量:6592 次
发布时间:2019-06-24

本文共 3327 字,大约阅读时间需要 11 分钟。

需安装php7版本的参考:http://www.yiichina.com/topic/6636  yii2 下使用memcached(非memcache) 

http://www.yiichina.com/topic/6635      php7.0下 安装 memcached 和 php扩展memcached 

---------------------------------------------------------------

 

一. memcache服务器端

下载地址:

安装memcached,同时需要安装中指定libevent的安装位置

tar zxvf memcached-1.2.0.tar.gzcd memcached-1.2.0.tar./configure –with-libevent=/usrmakemake install

或直接yum apt-get安装

 启动服务 :

./memcached -d -m 10    -u root

 

memcached -d -m 256 -p 11211 -u root

 

参数说明

-d选项是启动一个守护进程,

-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,
-p是设置Memcache监听的端口,
-c选项是最大运行的并发连接数,默认是1024,
-P是设置保存Memcache的pid文件,

二 . 安装php5.5 memcache扩展

这里版本为php5.5.25

下载地址

tar vxzf memcache-2.2.1.tgzcd memcache-2.2.1 /usr/local/php/bin/phpize./configure –enable-memcache –with-php-config=/usr/local/php/bin/php-config makemake install

问题来了,报错:

[root@iaaa memcache-2.2.1]# ./configure –enable-memcache –with-php-config=/usr/local/php/bin/php-configconfigure: WARNING: you should use --build, --host, --targetconfigure: WARNING: invalid host type: –enable-memcacheconfigure: error: invalid variable name: `–with-php-config'

解决办法: 这行代码需要你手动输入,直接复制粘贴就会出现这种错误,   参考来自:

安装完后会有类似这样的提示

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/

然后修改php.ini, 添加extension

extension=memcache.so

查找php.ini  执行phpinfo()

修改完成后重启nginx

service  nginx restart

问题来了:

重启nginx 后phpinfo() 显示没有加载memcache模块

google发现要需要 php-fpm 来重新加载配置文件php.ini

然后呢安装网上说的

/php-fpm 还有其它参数 ,包括start|stop | quit | restart | reload | logrotate 使用 PHP-FPM 来控制 PHP-CGI 的 FastCGI 进程

--start   启动 PHP 的 fastcgi 进程--stop   强制终止 PHP 的 fastcgi 进程--quit    平滑终止 php 的 fastcgi 进程--restart  重启 php 的 fastcgi 进程--reload   平滑重新加载 php 的 php.ini--logrotate   重新启用 log 文件

 

php5.5的php-fpm 参数

Usage: php-fpm [-n] [-e] [-h] [-i] [-m] [-v] [-t] [-p 
] [-g
] [-c
] [-d foo[=bar]] [-y
] [-D] [-F] -c
|
Look for php.ini file in this directory -n No php.ini file will be used -d foo[=bar] Define INI entry foo with value 'bar' -e Generate extended information for debugger/profiler -h This help -i PHP information -m Show compiled in modules -v Version number -p, --prefix
Specify alternative prefix path to FastCGI process manager (default: /usr/local/php). -g, --pid
Specify the PID file location. -y, --fpm-config
Specify alternative path to FastCGI process manager config file. -t, --test Test FPM configuration and exit -D, --daemonize force to run in background, and ignore daemonize option from config file -F, --nodaemonize force to stay in foreground, and ignore daemonize option from config file -R, --allow-to-run-as-root Allow pool to run as root (disabled by default)

所以应该:

 

service php-fpm stop  ./php-fpm -c /usr/local/php/etc/php2.ini

完成后在看phpinif()

 

显示的memcache模块:

 

 

windows中memcached 启动服务:

 

 

memcache 未授权访问漏洞

修复方案:

因memcache无权限控制功能,所以需要用户对访问来源进行限制。

方案一:

如果memcache没有在外网开放的必要,可在memcached启动的时候指定绑定的ip地址为 127.0.0.1。例如:

memcached -d -m 1024 -u root -l 127.0.0.1 -l 192.168.1.102 -p 11211 -c 1024 -P /tmp/memcached.pid

其中 -l 参数指定为地址, 可以指定多个地址用逗号分开也可以使用- l多次

方案二:(注意:请谨慎配置iptables规则)

如果memcache服务需要对外提供服务,则可以通过iptables进行访问控制。

iptables -A INPUT -p tcp -s 192.168.0.2 --dport 11211 -j ACCEPT

上述规则的意思是只允许192.168.0.2这个ip对11211端口进行访问。

参考:

转载地址:http://hldio.baihongyu.com/

你可能感兴趣的文章
JS字符串转换数字
查看>>
centos7-修改主机名
查看>>
面试宝典系列-mysql面试基础题
查看>>
spring data for mongo
查看>>
开启 URL 重写
查看>>
Journey源码分析二:整体启动流程
查看>>
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
查看>>
七、MySQL中的字符集 - 系统的撸一遍MySQL
查看>>
centos7的php5.4竟然不支持原生的mysql
查看>>
使用IntelliJ IDEA开发SpringMVC网站(四)用户管理
查看>>
ajax加载数据到页面无法打印的解决办法
查看>>
js 验证中文
查看>>
Linux下运行java DES AES加解密
查看>>
DataNode 运行状况
查看>>
牛津词典 2018 年度词汇 ——「有毒」!
查看>>
XIB的是用
查看>>
Learning Data Structure_2_线性表、栈和队列
查看>>
Android Arcface人脸识别sdk使用工具类
查看>>
android studio单个工程文件的代理设置
查看>>
Agent admitted failure to sign using the key
查看>>