php也沒有成功加載memcached


常規方法安裝memcached以后,進程中沒有成功啟動memcached.exe,並且php也沒有成功加載memcached

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 

權限問題:

 

 

 

參考下windows下文件移動后權限的原則。 

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 

處理過程如下:

網上搜索了下:

這篇文章講的還算是很清楚的:

PHP學習筆記】Windows Memcache安裝配置

以前學習php,沒怎么注意緩存,為了跟上速度,今天決定裝了下。

首先准備好安裝文件,點擊這里下載。(我下載是安裝包,如果用源碼安裝看了下文檔有點麻煩,所以這里偷了下懶。有需要的話可以點擊這里

安裝Memcache 

下面是詳細說明:

1.解壓縮到某個路徑下,這里我放到D:\memcached1.2.4

2.通過命令行安裝,首先進入該目錄下,輸入memcached.ext -d install

3.上一步不出意外的話,就安裝成功了。那么就可以啟動了。同樣的輸入memcached.ext -d start

4.OK,現在可以看看你的任務管理器有沒有一個memcached.exe的進程了


 

PHP加載Memcache

很簡單。不過還沒完,你只是安裝了一個memcached caching server,還沒有和php建立關聯。所以在php程序里還不能運用。

由於我的php版本是5.2.17的,下載的php_memcache.dll也要是對應的。如果你的php5.3+的,可以在這里下載

 php_memcache-cvs-20090703-5.3-nts-VC6-x86.zip

http://downloads.php.net/pierre/php_memcache-2.2.6-5.3-nts-vc9-x86.zip 

官方地址:http://downloads.php.net/pierre/ 

安裝與平時添加擴展完全一樣,把dll文件拷到你的php目錄的ext目錄下,然后,

php.ini中添加extension=php_memcache.dll,重啟服務器,在phpinfo里面就應該可以看到配置信息,如下:


測試Memcache

1 <?php
2     $mem = new Memcache;
3     $mem->connect('127.0.0.1', 11211);
4     $mem->set('key', 'This is a test!', 0, 60);
5     $val = $mem->get('key');
6     echo $val//output This is a test!
7     echo '<br/>';
8     echo '我的Memcache版本:'.$mem->getVersion();//output 1.2.4
9 ?>

注意:第2行部分,connect里面的參數第一個表示服務器地址,第二個表示端口號,具體函數詳細說明可以查看這里

提出問題,及解決

還是第2行,第一個參數是ip地址,所以,嘗試用localhost試了下,結果,提示memcache_connect() [function.memcache-connect]: Can’t connect to localhost:11211

google了下,這里需要更改hosts文件,添加一行127.0.0.1       localhost,如果已經存在了,只需要把#去掉就行。

這樣你可以再試試看,就可以了。

另外,如果在安裝Memcache時第一步出現“MSVCP71.dll is missing”,可以查看這里

參考資料

1.memcached for Windows

2.Installing Memcached for PHP 5.3 on Windows 7

3.Windows下的Memcache安裝與配置

4.How to install Memcached on Windows machine

另外:本來想定量測試下使用緩存和不用緩存的具體差別,WinCacheGrind還有待研究中,不是很會用……杯具!

         還有需要php5.2版本對應的memcache.dll文件可以點擊這里下載!

一、

因為在開始執行安裝的時候彈出了Windows防火牆窗口,就以為是防火牆的原因,就又重新按照上面教程下載了安裝文件,並重新安裝了一遍,在防火牆“例外”中也添加了例外的程序。

這時看到任務管理器中已經memcached.exe進程了。但是重啟iis還沒有看到php加載memcached。不知什么原因??php.ini中修改了extention_dir的路徑為絕對路徑也還是不行。

繼續網上搜索了下,沒有看到相關處理方法,就自己測試:

看到“由於我的php版本是5.2.17的,下載的php_memcache.dll也要是對應的。如果你的php5.3+的,可以在這里下載”這句話,開始以為是php_memcached.dll和php版本不對應,就又在網上找了很多php_memcached.dll下載的地址:

比如:http://dl.dbank.com/c00gag1urbhttp://k1029.com/wp-content/uploads/2012/01/php_memcache-dll-windows-x86.zip這兩個替換了我原有的php_memcached.dll,重啟iis還是不行。

http://downloads.php.net/pierre/這個官方的下載地址不知做什么用的?

還有找到了memcached的官方主頁:http://pecl.php.net/package/memcached

 

二、開始懷疑是不是php.ini其他配置影響了phpmemcached的加載?

就換了我本地機器上可以成功加載memcachedphp.ini替換了服務器上的php.ini,重啟iis還是不行,然后又把php_memcached.dll換回了我安裝時自己帶的php_memcached.dll,重啟iis后竟然發現可以了。這時我把php.ini再換為原來服務器上配置的php.ini重啟iis也可以了。

 

 

其他參考資料:

memcachedPHP5.2.3_memcache.dll

http://vb2005xu.iteye.com/blog/1283421

memcache for windows+php_memcache.dll

http://bbs.dedecms.com/402274.html

Windows(iis)下的Memcache安裝方法(文件下載),php_memcache.dll

http://www.cnblogs.com/rabbit25132008/archive/2010/12/15/1907043.html

php_memcache.dll 下載, 最新 php_memcache.dll 下載 memcache

http://apps.hi.baidu.com/share/detail/14623830

Windows下的Memcache安裝與配置

http://home.phpchina.com/space.php?uid=52440&do=blog&id=142641

PHP學習筆記】Windows Memcache安裝配置

http://archive.cnblogs.com/a/2216704/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM