操作系统是win64位的,wampserver_X64_2.5.1455519534集成WAMP环境,php5.5.12,apache2.4.9
memcache和memcached的区别 在自己的新程序中打算全面应用memcached技术,这个很容易理解这是memcached是内存缓存,但是怎么还有memcache呢? 其实很简单,memcache是php的一个扩展,用于php管理memcached,php-memcache.dll。 如果安装了memcached不安装扩展,那么php无法操控memcached,但是命令行使用起来没有问题 如果安装了memcache扩展但是没有安装memcached服务,那么这个就无法使用 只有同时安装了memcached服务和memcache扩展才可以在PHP中使用memcached提高动态网站性能准备工作:
(1)Windows7为64位系统
(2)wampserver已安装,且为64位。(安装地址:http://www.wampserver.com/en/)
请选择好php版本号,因为会涉及到memcache扩展文件的下载
(3)请先判断好安装的PHP是ts版本还是nts版本,判断方法如下:
1)编写phpinfo.php文件:
<?php
phpinfo();
?>
2)运行phpinfo.php文件,查看Thread Safety选项(这个选项就是用来查看是否是线程安全的);如果是enabled,则表示所安装的PHP为ts版本的;否则就是nts版本的。
(下载的memcache扩展文件为
)
(4)通过(2)(3)的下载和判断,下载memcache扩展所需要的文件。下载地址为:http://pecl.php.net/package/memcache/3.0.8/windows (Note:PHP5.3和5.4版本,没有64位的扩展文件下载)
(5)memcached 64位下载
(memcached-win64-1.4.4-14下载地址:http://download.csdn.net/download/zhaotengfei36520/8182503)
其它版本的memcached可参考
其他版本的memcached下载可查看:菜鸟教程
查看菜鸟教程发现,在 1.4.5 版本以前 memcached 可以作为一个服务安装,而在 1.4.5 及之后的版本删除了该功能。所以,1.4.5 版本以前和1.4.5 版本之后的安装方法是不同的
做好准备工作,下面就开始安装memcached-win64-1.4.4-14啦!
以WAMPSERVER2.5(64 BITS & PHP 5.5)为例:
(1)把下载好的memcache扩展压缩包解压,并将php_memcache.dll文件复制粘贴至php的扩展目录(如何查找php扩展目录:在phpinfo中查找extension_dir
)
(小提示:虽然压缩包下载的php_memcache.dll文件为5.5.4.0版本,而php得版本为5.5.12.0版本,不会影响扩展的添加。只要是5.5版本下的即可)
(2)编辑php.ini(在phpinfo.php中查找Loaded Configuration File),一定要查看这个目录找到这个目录下再添加扩展
在php.ini中添加extension = php_memcache.dll
(3)安装Memcached服务:
1)将下载好的 Memcached放置将要执行的目录(任何目录均可以,以G盘为例)
2)以管理员身份运行命令提示符,执行
G:/memcached.exe –d install
G:/memcached.exe –d start
完成以上工作后,重启WAMPSERVER,在phpinfo.php中,查看是否已经安装完成。如果出现以下内容,表示安装成功:
(小提示:在扩展中,并不一定会显示php_memcache,所以一定要查看phpinfo()中的内容。可能会在之后的扩展列表中显示。主要以phpinfo()中的内容为准。)
=========== 代码测试 =============
01 | $memcache = new Memcache; |
02 | $memcache ->connect( "localhost" ,11211); # You might need to set "localhost" to "127.0.0.1" |
03 |
04 | echo "Server's version: " . $memcache ->getVersion() . "/n" ; |
05 |
06 | $tmp_object = new stdClass; |
07 | $tmp_object ->str_attr = "test" ; |
08 | $tmp_object ->int_attr = 123; |
09 |
10 | $memcache ->set( "key" , $tmp_object ,false,10); |
11 | echo "Store data in the cache (data will expire in 10 seconds)/n" ; |
12 |
13 | echo "Data from the cache:/n" ; |
14 | var_dump( $memcache ->get( "key" )); |
结果:
view sourcePRint?01 | ---------- PhpUnit ---------- |
02 | Server's version: 1.4.4-14-g9c660c0 |
03 | Store data in the cache (data will expire in 10 seconds) |
04 | Data from the cache: |
05 | object(stdClass) #3 (2) { |
06 | [ "str_attr" ]=> |
07 | string(4) "test" |
08 | [ "int_attr" ]=> |
09 | int(123) |
10 | } |
11 |
12 | Output completed (2 sec consumed) - Normal Termination |
如果安装失败,原因可能有:
第一点:是wamp集成环境,Server Software:Apache/2.4.9 (Win32) PHP/5.5.12?在window7- 64位 安装的wamp是32位的,所以扩展的dll文件不能是64位的,正确的dll文件是X86的dll文件。
扩展文件php_memcache.dll可在该地址选择:
PHP5.2、5.3、5.4、5.5、5.6的php memcache dll扩展
http://download.csdn.net/download/mad_geek/9598516
选择时注意区分32位和64位 以及你php的 nts 和ts ,copy到php目录下的ext目录 然后修改php.ini。
第二点:(关键)由于是wamp集成的开发环境(例如WampServer),修改了php下的php.ini文件安装不成功,要修改apache下的php.ini安装成功。
新闻热点
疑难解答
图片精选