ubuntu 搭建php7-memcached和memcache扩展

参考链接1:https://serversforhackers.com/c/installing-php-7-with-memcached 
参考链接2:https://hanxv.cn/archives/25.html

环境:ubuntu16.04, php7.0, apache2

安装 phpize

  1. # phpize 是用来扩展 php 扩展模块的
  2. # php7.0 的 phpize 包含在 php7.0-dev 里面
  3. sudo apt-get install php7.0-dev
  4. # 使用
  5. phpize 或 /usr/bin/phpize

安装 memcached

  1. # 安装依赖
  2. sudo apt-get install memcached
  3. sudo apt-get install libmemcached11 libmemcached-dev libmemcachedutil2

* 安装 memcached 扩展*

  1. # 查看 php7.-0 的软件包
  2. apt-cache search -n php7.0
  3. # 下载 memcached 到本地仓库,并切换到 php7 版本
  4. git clone https://github.com/php-memcached-dev/php-memcached.git
  5. cd php-memcached/
  6. git checkout php7
  7. # 执行配置文件,注意:这一步可能会出错,原因可能是缺少 memcached 依赖, 安装上面安装便可
  8. phpize
  9. #大写的注意!!
  10. ./configure --disable-memcached-sasl
  11. 注意:ubuntu提示checking for pkg-config... nopkg-config not found
  12. configure: error: Please reinstall the pkg-config distribution
  13. 解决:安装pkg-config
  14. sudo apt-get install pkg-config
  15. 再次执行
  16. ./configure --disable-memcached-sasl   命令即可
  17. # 编译安装
  18. make && make install
  19. 编译安装完成后会返回 buil completed 提示信息以及你的扩展地址
  20. ##一定要记住!很重要!返回的扩展地址 Installing shared extensions:     /usr/lib/php/20151012/
  21. #把扩展添加进php中
  22. vi /etc/php/7.0/fpm/conf.d/memcached.ini
  23. 写入:extension=/usr/lib/php/20151012/memcached.so
  24. vi /etc/php/7.0/apache2/php.ini 中
  25. 写入:extension=/usr/lib/php/20151012/memcached.so
  26. # 执行 phpinfo.php 查看 memcached 是否被添加?

Memcache存放Session

1、如果你能修改到服务器配置文件,那就打开打开php.ini(ubuntu php7 在/etc/php/7.0/apache2/php。ini)

  1. vi /etc/php/7.0/apache2/php.ini
  2. 重启服务sudo /etc/init.d/apache2 restart
  3. 找到session.save_handler,并设为 session.save_handler = memcache,把session.save_path前面的分号去掉,并设置为 session.save_path = “tcp://127.0.0.1:11211″
  4. session.save_handler = memcache
  5. session.save_path = “tcp://127.0.0.1:11211″?
  6. 重启服务sudo service apache2 restart

查看phpinfo 中的设置

之后记得要重启apache服务器
重启服务sudo service apache2 restart

查看一下phpinfo()中的 “Registered save handlers” 会有 “files user memcache” 这3个可用。如果没有的话重新安装一下或者确定自己是否有重启apache服务器。

或者某个目录下的 .htaccess :

php_value session.save_handler “memcache”
php_value session.save_path “tcp://127.0.0.1:11211″

再或者在某个一个应用中:

ini_set(“session.save_handler”, “memcache”);
ini_set(“session.save_path”, “tcp://127.0.0.1:11211″);

注意:

使用多个 memcached server 时用逗号”,”隔开,并且和 Memcache::addServer() 文档中说明的一样,可以带额外的参数”persistent”、”weight”、”timeout”、”retry_interval” 等等,类似这样的:”tcp://host1:port1?persistent=1&weight=2,tcp://host2:port2″ 。

二:php安装memcace扩展

安装过程如下所示

  1. [[email protected]_114_93_centos local]# git clone https://github.com/websupport-sk/pecl-memcache memcache
  2. [[email protected]_114_93_centos memcache-3.0.8]# cd memcache
  3. [[email protected]_114_93_centos memcache-3.0.8]# phpize
  4. [[email protected]_114_93_centos memcache-3.0.8]# whereis php-config
  5. php-config: /usr/bin/php-config /usr/share/man/man1/php-config.1.gz
  6. [[email protected]_114_93_centos memcache-3.0.8]# ./configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir
  7. [[email protected]_114_93_centos memcache-3.0.8]# make
  8. [[email protected]_114_93_centos memcache-3.0.8]# make install
  9. 安装编译完成(吐槽,这个资源找了2小时恶心,以后一定要读php源码 memcache扩展没更新到php7,所以以前的一直安装失败)
  10. 安装成功提示信息,你的扩展位置 Installing shared extensions:     /usr/lib/php/20151012/
  11. 可以切换进入查看下你的memcache.so 是否有
  12. cd /usr/lib/php/20151012
  13. ls
  • 提示如下图

########################################################################

老方法的安装memcache会报错!

这段不要操作

这段不要操作

这段不要操作

这段不要操作

这段不要操作

这段不要操作

这段不要操作

如果make完以后报错如下(是因为

还不支持在 PHP7 下安装 memcache 扩展,
https://pecl.php.net/package/memcache

2013年以来为更新过。此路不通只能另想办法,同样是到 github 上碰碰运气。搜索 pecl memcache
https://github.com/search?utf8=%E2%9C%93&q=pecl+memcache&type=Repositories&ref=searchresults

其中第一个(https://github.com/websupport-sk/pecl-memcache)就是想要的,并且代码已经支持到 PHP7,立即下载代码编译:

请进行上面的安装方法。

  1. make: *** [memcache_pool.lo] Error 1
  • 1

是因为没有安装zlib,执行以下命令后,重新安装

  1. yum -y install zlib-devel

这段不要操作

这段不要操作

这段不要操作

这段不要操作

这段不要操作

这段不要操作

###################################################################

此时就可以在相关目录中看到memcache.so

在php.ini中加入以下配置:

  1. extension=/usr/lib/php/20151012/memcache.so
  • 1

然后重启Apache,看phpinfo中

工作到这里 完美!看上图

http://blog.csdn.net/qq_28602957/article/details/52781222

http://www.lnmp.cn/install-memcache-and-memcached-extends-under-php7.html

https://github.com/websupport-sk/pecl-memcache

问题:我phpinfo中已经有了memcache 和memcached扩展

但是无法new他 提示没有这个类

答!

请不要使用命令行php test.php 来测试 肯定找不到!!!

你用浏览器打开一切正常!!!

PHP 连接 Memcached

<?php
$memcache = new Memcache;             //创建一个memcache对象
$memcache->connect(‘localhost‘, 11211) or die ("Could not connect"); //连接Memcached服务器
$memcache->set(‘key‘, ‘test‘);        //设置一个变量到内存中,名称是key 值是test
$get_value = $memcache->get(‘key‘);   //从内存中取出key的值
echo $get_value;
?>?

查看成功!

接下来就开始使用PHP操作Memcached啦! 
1.创建一个Memcached对象

  1. $m = new Memcached();
  • 1

2.传入一台或多台服务器

  1. //传入一台服务器
  2. $m->addServer(‘127.0.0.1‘,‘11211‘);
  3. //传入多台服务器
  4. $servers = array(
  5. array(‘127.0.0.1‘,‘11211‘),
  6. array(‘127.0.0.2‘,‘11211‘)
  7. );
  8. $m->addServers($servers);
  9. //查看一下运行状态
  10. print_r($m->getStats());?

显示结果为空。因为报错了

多台会报错的,注释掉多台服务器,链接成功

原文地址:https://www.cnblogs.com/fujunjie/p/9393367.html

时间: 2024-10-10 08:24:53

ubuntu 搭建php7-memcached和memcache扩展的相关文章

linux下给php安装memcached及memcache扩展(转)

http://kimi.it/257.html (另外的方法)linux安装memcached及memcache扩展一.安装libevent函数库下载地址:http://libevent.org默认被安装到:/usr/local/lib目录下安装memcached之前需要先安装libevent函数库.可以通过#ls -al /usr/local/lib | grep libevent命令查看是否已安装libevent函数库.如果没安装,则需下载并安装libevent函数库. 二.安装memcac

linux安装memcached及memcache扩展

一.安装libevent函数库 下载地址:http://libevent.org 默认被安装到:/usr/local/lib目录下 安装memcached之前需要先安装libevent函数库. 可以通过#ls -al /usr/local/lib | grep libevent命令查看是否已安装libevent函数库. 如果没安装,则需下载并安装libevent函数库. 二.安装memcached 下载地址:http://memcached.org 默认被安装到:/usr/local/bin目录

ubuntu下安装memcached与php扩展测试使用

1,memcached需要libevent,所以要先安装它 下载地址:http://download.chinaunix.net/download.php?id=45065&ResourceID=5804 tar xf libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-stable make sudo make install 2,安装memcached wget http://memcached.org/files/memcached-1.5.5

ubuntu在xampp下安装memcache扩展

sudo wget http://pecl.php.net/get/memcache-2.2.1.tgz sudo tar vxzf memcache-2.2.1.tgz cd memcache-2.2.1/ sudo /opt/lampp/bin/phpize ./configure --with-php-config=/opt/lampp/bin/php-config --enable-memcache #make #make install (会显示编译好了memcache.so,并安装到

linux上安装php7 memcache扩展 和 安装服务端memcached

linux上安装memcached不算太困难.唯一让本人感到困难的是 php7的memcache扩展安装.真的蛋疼! 先说安装服务端 memcached 1. 首先安装Libevent事件触发管理器. wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz tar vxf libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-stable ./c

在 Windows 10 64 下安装 Memcached,安装 PHP 7.0.22 的 Memcache 扩展

1.之前写过一篇在 PHP 5.6.27 下的博客:http://www.shuijingwanwq.com/2017/09/11/1892/ ,此次是 PHP 7.0.22 下的,如图1 图1 2.卸载 memcached ,可以使用以下命令:,如图2schtasks /delete /tn memcached 图2 3.删除目录:C:\memcached-1.4.5,如图3 图3 4.打开网址:https://github.com/nono303/memcached/tree/master/

Memcached 笔记与总结(4)memcache 扩展的使用

在 wamp 环境下进行测试:WAMPSERVER 2.2(Windows 7 + Apache 2.2.21 + PHP 5.3.10 + memcache 3.0.8 + Memcached 1.4.24) 在本地开启 Memcached 服务: 简单例子: <?php //创建Memcache对象 $mc = new Memcache(); //连接Memcached服务器 $mc->connect('127.0.0.1', 11211); //存储数据 $mc->set('nam

Centos安装Memcached和(Nginx)Memcache扩展详细教程

下载memadmin,下载地址:http://www.junopen.com/memadmin/ 并在IIS新建站点. 测试地址:http://wap.yousawang.com/mem , 1.重启 apache service httpd restrat /etc/init.d/httpd stop /etc/init.d/httpd start 2.重启 mysql service mysqld restart /etc/init.d/mysqld stop /etc/init.d/mys

CentOS安装memcached及配置php的memcache扩展

遇到的问题: 这个问题主要是linux服务器安装memcached服务后,phpinfo信息没有memcache扩展,所以主要是给php安装memcache扩展,教程中是安装memcache扩展,我认为应该是安装memcached扩展,关于这一点不是很明白. 教程链接1:http://blog.csdn.net/hel12he/article/details/45537059 链接2:http://blog.csdn.net/poechant/article/details/6802312 链接