memcachedphp扩展
① 怎么在windows7下安装php的memcached扩展,就是要 php_memcached.dll吗 谁有呢麻烦提供个下载链接吧!
分2部分
安装memcache的服务
打开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多了些功能!
② 最近在学习memcached 我php的memcache扩展装了,php.ini配置文件也加了extension=php_memcache.dll,
memcached.exe是服务器需要启动进程。php支持memcache和memcached。现在网上大部分是memcache扩展多,需要下载php_memcache.dll到ext扩展文件中,php.ini里面将扩展开启,到phpinfo里面查看是否有此扩展,然后你就可以进行开发。
③ php memcached和memcache
不太懂,某次用到php中的memcached,但是下载的是memcache软件。好像是跟你使用的memcache软件版本对应,不知道是不是 另:mem可以部署为分布式
④ PHP 拓展 memcache 和 memcached 的区别
先从最本质上的区别,memcache是通过接口方式连接memcache(服务)提供的接口;memcached是通过系统的libmemcached库提供的api与memcached服务端进行交互,更底层,功能更多,速度更快。而且,memcache是早期的扩展,memcached相对较新,更稳定,功能更多。
⑤ php无法加载memcache模块
你的php的mencached扩展的版本是当前php版本可使用的不
⑥ 如何在windows环境下加php与memcached扩展
安装护卫神.apache大师,一键安装apache+php+mysql+ftp+memcached
⑦ 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修改成有效的用户和用户组名称。
⑧ 如何在Centos的linux操作系统安装php的memcache扩展
准备工作:
1、一台linux的服务器
2、下载相应版本的php源码,知道自己php的版本并且知道phpize的位置
3、懂基本的linux解压命令和编译
操作步骤:
1、通过ssh登陆到我们的服务器,找到我们的phpize位置,如果不知道下载跟目前使用版本相同的php源码重新编译一下
2、下载memcached的源码包,并解压安装
wgettar -zxvf memcache-3.0.8.tgz #解压cd memcache-3.0.8 #进入源码包/usr/local/php/bin/phpize #执行phpize./configure --with-php-config=/usr/local/php/php-config #准备编译make && make install #编译安装
3、配置php.ini文件在最后面添加扩展进去
vim /etc/php.iniextension=memcache.so
4、重启web服务器,我用的是apache
service httpd restart
5、编写一个phpinfo文件去查看有没有安装成功
⑨ 为什么我安装了php的memcached扩展,使用php -m 无法找到memcached,但是在phpinfo()里面却能看到
ubuntu16.04安装php-memcached,须升级原有的php-m方可正常使用,请参考
⑩ memcache 扩展直接在 php.ini配置可以么
一下载需要的源码包所有安装包均选用最新的。1.下载libevent2.0.22点击红色部分下载下载memcached1.4.24点击红色部分,下载最新版本下载php扩展memcache3.0.8选择需要的版本二安装详细步骤首先将以上三个软件包下载到/tmp目录下1.安装libeventcd/tmp#首先进入到该下载包的目录tarzxvflibevent-2.0.22-stable.tar.gz#解压包cdlibevent-2.0.22-stable#进入到解压的目录./configure--prefix=/usr/local#编译前配置,生成Makefile文件,路径可自行更改make;makeinstall#编译+安装1测试是否安装成功看到这些信息,表示成功啦2.安装memcachedcd/tmp#首先进入到该下载包的目录tarzxvfmemcached-1.4.24.tar.gz#解压包cdmemcached-1.4.24#进入到解压的目录./configure–with-libevent=/usr/local#编译前配置,生成Makefile文件,路径必须与libevent中一致make;makeinstall#编译+安装1测试是否安装成功表示成功的信息通过以上操作,就完成了memcached服务器的安装。特别的简单吧!现在就来搞一搞memcache的php扩展安装吧3.安装扩展cd/tmp#首先进入到该下载包的目录tarzxvfmemcache-3.0.8.tgz#解压包cdmemcache-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;makeinstall#编译+安装1完成以上步骤时,心情愉悦的点击了enter,准备喝口水潇洒一下,结果出现了一下错误(这也是我写这篇博客的原因,要不都懒得记录了)错误信息看了下代码错误信息,说是zlib.h找不到。找不到就给他安一个嘛。真是的安装zlib下载zlib-1.2.8.tar.gz下载地址:memcached.pid3.检查memcached是否已经启动看到绿色框中内容,就表示完成五测试php的memcache扩展connect("192.168.12.201",13001);$mem->set('key','Thisisatest!',0,60);$val=$mem->get('key');echo$val;?>写在后面:大家有兴趣可以将session改为使用memcache来保存。php自身使用文件的方式,不太好,动不动文件大小总和就上G了。