导航:首页 > 编程语言 > php7memcache扩展

php7memcache扩展

发布时间:2022-07-21 01:43:37

‘壹’ lnmp环境搭建,memcache扩展问题

$mem = new Memcache; 应该这样写吧,我对php不熟,但是测试脚本见得多

‘贰’ php 能不能编译的时候一起加入 memcached 扩展

一 安装libevent

1.去官网http://libevent.org/ 下载最新源码,我用的是libevent-2.0.20-stable.tar.gz

2.解压到/usr/src目录 ,执行命令:sudo tar -zxvf libevent-2.0.20-stable.tar.gz -C /usr/src

3.进入解压以后的目录,用sudo方式执行命令:sudo ./configure --prefix=/usr/local/libevent ; make ; make install

二 安装memcache

1.去官网 http://memcached.org/ 下最新源码,我用的是memcached-1.4.15.tar.gz

2.解压到/usr/src目录 ,执行命令:sudo tar -zxvf memcached-1.4.15.tar.gz -C /usr/src

3.进入解压以后的目录,用sudo方式执行命令:sudo ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent; make ; make install

三 安装php的memcache扩展

有两个版本一个是memcache(http://pecl.php.net/package/memcache ),另一个是基于libmemcached的memcached版本(http://pecl.php.net/package/memcached );

网上查的资料是说前一个是原生的,后一个比前一个功能更强大。比较推荐使用基于libmemcahced 库的memcached扩展。支持memcache提供的CAS操作,稳定性和效率也更好。

这里我使用基于libmemcached 库的memcached扩展,安装步骤如下:

首先,安装libmemcached库

1.去网址 https://launchpad.net/libmemcached (或者http://libmemcached.org/libMemcached.html )下载源码,

我用的是libmemcached-1.0.14.tar.gz

2.解压缩到/usr/src目录,用sudo方式执行命令:sudo tar -zxvf libmemcached-1.0.14.tar.gz -C /usr/src

3.进入目录/usr/src/libmemcached-1.0.14/,sudo方式执行命令:./configure ;make;make install (不加--prefix=/usr/local/libmemcached 指定安装目录时,libmemcached 默认安装在/usr/local/,头文件安装在/usr/local/include/libmemcachde/,动态库默认安装在/usr/local/lib/下。)

4.make时遇到问题:sorry, unimplemented: Graphite loop optimizations can only be used if the libcloog-ppl0 package is installed。解决办法是修改Makefile,查找并去掉 floop-parallelize-all(应该有两处需要去掉),看了网上资料说是去掉后表示不使用Graphite loop 优化。

5.再次make,遇到问题:fatal error: sasl/sasl.h: No such file or directory. 在网上搜到的解决办法是:

Depending on your operating system, you'll need to install the cyrus-sasl development package.

That would be cyrus-sasl-devel on RedHat based distros and libsasl2-dev on Debian based distros IIRC.

我在ubuntu下直接用sudo apt-get install libsasl2-dev 安装了。

6.编译还是遇到问题,显示无法链接到sasl的一些文件。问题显示如下:

undefined reference to `sasl_client_step'
undefined reference to `sasl_dispose'
undefined reference to `sasl_client_start'
undefined reference to `sasl_client_new'

解决办法是重新执行configure命令,增加相应的参数。sudo执行命令:sudo ./configure --enable-sasl --without-memcached LDFLAGS=-Wl,--as-neede ;make; make install

7.终于安装libmemcached库成功了。。。

其次,安装memcached版本的php扩展

1. 去网址http://pecl.php.net/package/memcached 下载memcached版本,我用的是memcached-2.1.0.tgz

2. 解压到/usr/src目录 ,执行命令:sudo tar -zxvf memcached-2.1.0.tgz -C /usr/src

3. 进入解压以后的目录,是没有configure文件的,用sudo方式执行命令来生成:sudo /usr/local/php/bin/phpize

4.遇到问题:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script. 网上搜到的解决办法为:

cd /usr/src
wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
tar -zvxf m4-1.4.9.tar.gz
cd m4-1.4.9/
./configure && make && make install
cd ../
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
tar -zvxf autoconf-2.62.tar.gz
cd autoconf-2.62/
./configure && make && make install
5.这是再次执行sudo /usr/local/php/bin/phpize,就可以成功生成configure文件了。(phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,官方说明网址为:http://php.net/manual/en/install.pecl.phpize.php)

6.用sudo方式执行命令./configure --with-php-config=/usr/local/php/bin/php-config; make ; make install

7.编译完成了,还需要做的是在/usr/local/lib/php.ini文件中加入extension值:extension=memcache.so

8.重启/usr/local/php/sbin/php-fpm程序使配置生效,但是报错:

ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2)

ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'

ERROR: FPM initialization failed

解决办法为: (1)cd /usr/local/php/etc/; (2)mv php-fpm.conf.default php-fpm.conf

9.重启仍然出现问题:ERROR: [pool www] cannot get uid for user 'www'。解决办法为:编辑文件vim /usr/local/php/etc/php-fpm.conf,

把user = nobody group = nobody 中的nobody修改成有效的用户和用户组名称。

‘叁’ php 7 有可用的 memcache,redis 扩展吗

1、PHP Memcache扩展下载
[raykaeso@web ~]$ wget memcache-2.2.7.tgz
2、解压安装并进入Memcache目录
[raykaeso@web ~]$ tar xzf memcache-2.2.7.tgz
[raykaeso@web ~]$ cd memcache-2.2.7
3、在Memcache目录下,生成configure配置文件
[raykaeso@web memcache-2.2.7]$ /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Mole Api No: 20090626
Zend Extension Api No: 220090626
[raykaeso@web memcache-2.2.7]$ ./configure –with-php-config=/usr/local/php/bin/php-config
[raykaeso@web memcache-2.2.7]$ make

‘肆’ php 怎么配置memcached

分为linux和windows系统下:

windows下:

1、首先下载memcache的windows版本,将下载下来的文件解压出来后会看见一个名为memcached.exe的可执行程序

2、将该文件放到指定目录,如D盘

3、安装:

开始->运行->cmd打开命令窗口

进入D盘:cd d:

安装memcache服务:

在命令窗口输入:

memacahed.exe -d install

等待命令执行完成后,就可以在服务列表中看到memcached服务

4、启动memcache服务:

memcached.exe -d start

5、可以通过以下命令来查看memcache服务是否启动成功:

wmic process get description, executablepath | findstr memcached.exe

可以将memcached.exe的路径放入到系统环境变量中,方便使用。

查看memcache运行状态:

在命令窗口输入:

telnet 127.0.0.1 11211

链接到memcache上,输入stats就可以查看到当前memcache的状态了;

linux下:

1.下载memcache源码

http://www.memcached.org/

2.解压并进入目录

./configure --prefix=/usr/local/memcache
make
make test
sudo make install

3.启动memcache

memcache -d start -u root

验证memcache是否正确安装并启动

netstat -tap | grep memcached

4.安装memcache扩展库

下载memcache扩展

进入到memcache扩展文件

./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config
make
make install

修改php.ini文件 增加

extension=memcache.so

安装memcached扩展库

下载memcached扩展

memcached扩展需要libMemcached库的支持,所有在安装memcached扩展库之前要确认系统已经安装了libmemcached

安装libmemcached

./configure --prefix=/usr/local/memcache
make
make install

libmemcached安装完成后,就可以安装memcached扩展库

./configure --with-libmemcached-dir=/usr/local/memcached/ --with-php-config=/usr/local/php/bin/php-config
make
make install

同样修改php.ini配置文件,增加

extension=memcached.so

‘伍’ wampserver win7 64位 php memcache无法加载扩展

注意看是不是Apache的设置文件httpd.conf 里面PHPIniDir 这一行把php.ini文件指定在了别的目录。

我今天重装php就碰到了这个问题


用phpinfo() 函数 看看php.ini在哪个目录。

‘陆’ 怎么在windows7下安装php的memcached扩展,就是要 php_memcached.dll吗 谁有呢麻烦提供个下载链接吧!

分2部分

  1. 安装memcache的服务

  2. 打开php的memcache的扩展

你说的php_memcached.dll是php的扩展文件

安装的话,先下载一个memcached.exe,打开cmd,将文件拖入cmd对话框后会自动出现其所在路径,后跟空格-h可以查看命令

安装的话打 -d install 开启服务打-d start如果不成功说明当前win7下的用户权限不够

可以自制一个.bat文件,就是新建一个txt文件,把扩展名改成bat,编辑这个文件内容

D:memcached.exe -d install

保存,然后右键这个bat文件,选择管理员运行即可(注:memcached.exe放在英文目录的路径下)

安装完后打开php扩展

在php.ini中查找extension=php_memcached.dll如果没有在其他扩展下添加,不要加分号!

将php_memcached.dll文件下载,放入php的ext目录下,重启整个服务,phpinfo()一下看看是否可以

另注意:php_memcached.dll和memcached.exe两文件要兼容的.版本不同可能会不兼容!




我注意到你说的memcached和memcache的问题

memcached应该就是memcache的升级版!


除此以外还可以使用redis,网络也有介绍.可以搜下看看,比memcache多了些功能!

‘柒’ php 中的 memcache 是什么 怎么用的 越详细越好,求大神 在线等

memcache 是一种缓存服务器软件,安装了该软件的电脑,即可称为 缓存服务器。

memcache 缓存服务器是用来缓解 关系型数据库(例如 Mysql)负载压力的,第一次访问 mysql数据库(select)后,得到的数据放到缓存服务器里,设定个生命周期(例如7天),然后7天内所有访问该数据的语句就不用再到数据里查询了,直接从缓存服务器里取。

而你所问的 php中的 memcache 是一种客户端,客户端是用来访问服务端的(例如用IE浏览器访问网站,IE浏览器就是客户端)。再说具体点,php中的 memcache 就是一种扩展,在php安装目录的 php.ini 配置文件里开启 memcache 扩展后,你就能 用 memcache类实例对象,用memcache对象的各种方法来访问 memcache服务器。

例:

<?php
$mem = new Memcache();//实例化一个对象
//$mem->connect("ip地址",端口号);//连接memcache服务器
$mem->connect("localhost",11211);//连接memcache服务器
//添加数据,如果键名已经存在,则添加失败
$res = $mem->add('name','xiaoqian',MEMCACHE_COMPRESSED,3600);
var_mp($res);
//获取数据
$str = $mem->get('name');
var_mp($str);
?>

详细的怎么开启扩展后续什么的,你在这个我上传的word文档里看看就行了

‘捌’ 怎么看centos7 php memcache 扩展

准备工作: 1、一台linux的服务器 2、下载相应版本的php源码,知道自己php的版本并且知道phpize的位置 3、懂基本的linux解压命令和编译 操作步骤: 1、通过ssh登陆到我们的服务器,找到我们的phpize位置,如果不知道下载跟目前使用版本相同的php...

‘玖’ php7无法安装memcache扩展 系统 centos-6.8 Nginx-1.10.2 PHP-7.0.13/5.6.28 memcached-1.4

一 下载需要的源码包
所有安装包均选用最新的。
1. 下载libevent2.0.22
点击红色部分下载
下载memcached1.4.24
点击红色部分,下载最新版本
下载php扩展memcache3.0.8
选择需要的版本
二 安装详细步骤
首先将以上三个软件包下载到/tmp目录下
1. 安装libevent
cd /tmp #首先进入到该下载包的目录
tar zxvf libevent-2.0.22-stable.tar.gz #解压包cd libevent-2.0.22-stable #进入到解压的目录./configure --prefix=/usr/local #编译前配置,生成Makefile文件,路径可自行更改make; make install #编译+安装
1
测试是否安装成功
看到这些信息,表示成功啦
2. 安装memcached
cd /tmp #首先进入到该下载包的目录
tar zxvf memcached-1.4.24.tar.gz #解压包
cd memcached-1.4.24 #进入到解压的目录
./configure –with-libevent=/usr/local #编译前配置,生成Makefile文件,路径必须与libevent中一致make; make install #编译+安装
1
测试是否安装成功
表示成功的信息
通过以上操作,就完成了memcached服务器的安装。特别的简单吧!现在就来搞一搞memcache的php扩展安装吧3. 安装扩展
cd /tmp #首先进入到该下载包的目录
tar zxvf memcache-3.0.8.tgz #解压包
cd memcache-3.0.8 #进入到解压的目录
/opt/lampp/bin/phpize #动态为php添加扩展。phpize路径可能不一致,请根据自己的实际情况./configure –enable-memcache –with-php-config=/opt/lampp/bin/php-config –with-zlib-dir #php-config请根据自己环境情况填写make; make install #编译+安装
1
完成以上步骤时,心情愉悦的点击了enter,准备喝口水潇洒一下,结果出现了一下错误(这也是我写这篇博客的原因,要不都懒得记录了)错误信息
看了下代码错误信息,说是zlib.h找不到。找不到就给他安一个嘛。真是的安装zlib
下载zlib-1.2.8.tar.gz
下载地址:http://www.zlib.net/
如图:
红色部分点击
cd /tmp #首先进入到该下载包的目录
tar zxvf zlib-1.2.8.tar.gz #解压包
cd zlib-1.2.8 #进入到解压的目录
./configure --prefix=/usr/local/zlib
make; make install #编译+安装
1
再进行配置一下系统的文件,加载刚才编译安装的zlib生成的库文件vi /etc/ld.so.conf.d/zlib.conf
加入如下内容后保存退出: /usr/local/zlib/lib也就是添加安装目录的文件路径,库文件。ldconfig 运行之后就会加载安装的库文件了。
OK,到这一步了,此时,重新在memcache的php扩展中执行make;make install命令如果看到以下信息,表示成功:
扩展安装成功
三 配置php.ini文件
首先通过phpinfo函数,找到php.ini的路径,我的是:/opt/lampp/etc/php.ini在其中添加如下内容:
修改extension_dir路径:
extension_dir = “/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/”
extension=memcache.so
[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
然后重新启动apache,再次通过phpinfo查看一下情况。如果有如下内容,表示配置成功:
信息
四 配置memcached服务器
启动memcached服务器
memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid参数说明:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址127.0.0.1,-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid2. 结束memcached进行
kill cat /tmp/memcached.pid
3. 检查memcached是否已经启动
看到绿色框中内容,就表示完成
五 测试php的memcache扩展
<?php
$mem = new Memcache;
$mem->connect("192.168.12.201", 13001);
$mem->set('key','This is a test!', 0, 60);$val = $mem->get('key');
echo $val;
?>
写在后面:大家有兴趣可以将session改为使用memcache来保存。php自身使用文件的方式,不太好,动不动文件大小总和就上G了。

阅读全文

与php7memcache扩展相关的资料

热点内容
有没有什么语音讲书看书的app 浏览:991
文件夹怎么做标题 浏览:31
腾讯云服务器如何防止被攻击 浏览:879
六棱柱的体积算法 浏览:933
淘宝什么云服务器好用 浏览:340
pythonoa项目 浏览:307
android杜比音效 浏览:341
杀手47为什么连接不了服务器 浏览:108
静态路径命令 浏览:533
一直编译不过怎么办 浏览:829
汽车串联并联算法 浏览:458
助眠解压的声音音频小哥哥 浏览:277
pythoncmd换行 浏览:376
linux取消行号 浏览:355
安卓原生系统官网是什么 浏览:444
底部主图源码 浏览:878
服务器崩了有什么提示 浏览:780
远程海康服务器用什么浏览器 浏览:232
解压报纸图片 浏览:956
python微信公众号开发平台 浏览:895