Ⅰ 常用的php環境套件有哪些

護衛神.php套件。可以選擇7個版本。不過他們還有更好的選擇,護衛神.主機大師、護衛神.apache大師,都支持自動安裝PHP+MYSQL,而且支持7個版本的PHP同時使用。

Ⅱ 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

Ⅲ MAC yosemite 安裝memcache 失敗 提示沒有ZLIB 依賴

打開一個安裝包,這里我以AI為例雙擊,出現下面窗口。右鍵點擊紅色那個文件夾,選顯示包內容點擊後出現如下內容,雙擊進入此文件夾在雙擊MacOS文件夾點擊出現的唯一一個圖標,如下,然後就可以了……可以繞過軟體的某項自檢環節,所以才能安裝上。只有這個方法才能解決安裝程序無法初始化

Ⅳ windows下 php memcached 設置最大內存

工具:
memcached-1.2.6-win32-bin.zip MemCached服務端程序(for win)
Memcached Manager win下的MemCached管理工具
安裝配置MemCached服務端
下載memcached-1.2.6-win32-bin.zip ,解壓後得到memcached.exe,就是memcached的主程序了。比如我們放到MemCached伺服器下的C:\Program Files\MemCacheD下
下載安裝Memcached Manager ,通過這個來管理memcached的服務端。
打開MemCacheD Manager,點擊 add Server,填寫伺服器信息。我這里直接在本地安裝了memcached。如圖,填完後點擊apply,成功的話右側會出現伺服器。
點擊Add Instance添加memcached實例。這里有一些配置信息。Ip,埠,內存等等,不解釋了。點擊apply後會提示你是否現在啟動,我們這里選是
成功後發現右側已經有實例了,到此服務端配置完畢。
二、php安裝Memcached模塊支持
1、下載php_memcache.dll模塊,
你可以從http://downloads.php.net/pierre/找到對應的版本,
php5.3對應php_memcache-2.2.6-5.3-vc9-x86.zip
將php_memcache.dll放到php\ext目錄下,
2、修改php.ini來加入擴展,並並重啟apache伺服器
在php.ini加入一行引用擴展,代碼如下:
extension=php_memcache.dll
接著在 php.ini 文件里加上:
[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
memcache.default_port = 11211
最好就放在剛才寫 "extension=php_memcache.dll" 的下面。(這是默認的一些配置),重啟apache伺服器,
然後查看一下phpinfo,如果有memcache,那麼就說明安裝成功!
測試windows下的Memcached
測試代碼如下:
復制代碼
<?php
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211);
$mem->set('key', 'Hello Memcached!', 0, 60);
$val = $mem->get('key');
echo $val;
?>
復制代碼

Ⅳ 使用php Memcache模塊如何正確遍歷所有KEY以及VALUE

在php提供的用於與memcached交互的擴展模塊中有memcached與memcache,前者提供方法getAllKeys用於遍歷所有Memcached伺服器上的key,但是並不保證原子操作,而後者卻沒有提供任何方法,雖然在PHP官方
文檔中有人給出使用方法getExtendedStats來間接獲取Memcached伺服器上的所有key,但是給出的代碼是有不少坑的,如果拿來就用,對於cluster的memcached伺服器而言,有些問題就需要指出來。
下面將給出官方文檔中的代碼,並指出可能面臨的問題,代碼如下:
<?php
/**
*Functiontogetallmemcachekeys
*@authorManishPatel
*@Created:28-May-2010
*/
functiongetMemcacheKeys(){

$memcache=newMemcache;
$memcache->connect('127.0.0.1',11211)ordie("");

$list=array();
$allSlabs=$memcache->getExtendedStats('slabs');
$items=$memcache->getExtendedStats('items');
foreach($allSlabsas$server=>$slabs){
foreach($slabsAS$slabId=>$slabMeta){
$cmp=$memcache->getExtendedStats('cachemp',(int)$slabId);
foreach($cmpAS$keys=>$arrVal){
foreach($arrValAS$k=>$v){
echo$k."<br>";
}
}
}
}//EOgetMemcacheKeys()?>
在上述代碼中,如果用於獲取單個memcached伺服器上的key,是不存在任何問題,但是獲取連接池中的多個memcached所有key就存在問題,會發現列印出重復的key,問題就在於當使用getExtendedStats用去特定$slabID
上的信息時,返回的是連接池中所有的伺服器上的特定$slabId的存儲的keys信息。當$server為"127.0.0.1:11214"且$slabId為0將變數$cmp的信息列印出如下所示:
array(2){
["127.0.0.1:11214"]=>
array(1){
["course_schools__??¨é?¨"]=>
array(2){
[0]=>
string(1)"0"[1]=>
string(10)"12"}
}
["127.0.0.1:11216"]=>
array(1){
["monitorMemcache"]=>
array(2){
[0]=>
string(2)"10"[1]=>
string(10)"12"}
}
}
當$server為"127.0.0.1:11216"且$slabId為0將變數$cmp的信息列印出如下所示:
array(2){
["127.0.0.1:11214"]=>
array(1){
["course_schools__??¨é?¨"]=>
array(2){
[0]=>
string(1)"0"[1]=>
string(10)"12"}
}
["127.0.0.1:11216"]=>
array(1){
["monitorMemcache"]=>
array(2){
[0]=>
string(2)"10"[1]=>
string(10)"12"}
}
}

Ⅵ Memcached php 讀取緩存數據

將用戶名密碼緩存為數組,用戶名為鍵名,密碼為鍵值,用in_array()判斷用戶是否存在,存在則取出密碼與登錄密碼做比較,望點贊!!!

Ⅶ mac10.9自帶php和apache,安裝memcache擴展用phpize的問題

明顯就是缺少 autoconf 庫, Cannot find autoconf!

  1. 解決自動安裝庫的問題,可以安裝 homebrew,沒用過網路下!

  2. 使用 brew install autoconf 安裝這庫,接著執行,缺少什麼就用 brew命令安裝什麼!

Ⅷ 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修改成有效的用戶和用戶組名稱。