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了。