php 和 apache 相似,核心文件爲 /usr/local/php/bin/php,針對 apache 的是 /usr/local/apache2/modules/libphp5.so 模塊。這兩個文件是核心,在編譯 php 時會讓它提早支持一些功能,好比支持 mysql ,這個功能實際上是 php 的一個模塊,只不過這個模塊是直接和 php 或 libphp5.so 文件編譯在一塊兒的。當編譯完 php 後,發現還須要讓 php 支持另外的模塊,這時候能夠從新編譯 php,加上配置參數,或者直接編譯出一個獨立的模塊文件,而後讓 php 去調用它。下面編譯 memcache :php
(1)下載 memcache 源碼包mysql
[root@localhost src]# wget http://www.lishiming.net/data/p_w_upload/forum/memcache-2.2.3.tgz
(2)安裝
sql
[root@localhost src]# tar zxvf memcache-2.2.3.tgz [root@localhost src]# cd memcache-2.2.3 [root@localhost memcache-2.2.3]# /usr/local/php/bin/phpize
說明:這一步是藉助 php 的 phpize 工具生成 configure 文件。在這一步可能會遇到一些錯誤:
apache
Cannot find autoconf. Please check your autoconf installation and thevim
$PHP_AUTOCONF environment variable. Then, rerun this script.bash
[root@localhost memcache-2.2.3]# yum install -y autoconfide
還有 Cannot find config.m4 ,yum install -y m4。工具
繼續:this
[root@localhost memcache-2.2.3]# ./configure --with-php-config=/usr/local/php/bin/php-config [root@localhost memcache-2.2.3]# make [root@localhost memcache-2.2.3]# echo $? 0 [root@localhost memcache-2.2.3]# make install Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/ [root@localhost memcache-2.2.3]# echo $? 0 [root@localhost memcache-2.2.3]# cp modules/memcache.so /usr/local/php/ext/
說明:當 make install 後會生成一個 memcache.so 的模塊文件,咱們要用的就是它。而後把 memcache.so 拷貝至 php 的 extension_dir 下。查看 php extension_dir 的方法是「/usr/local/php/bin/php -i |grep extension_dir」,修改 extension_dir 的方法是,編輯 php.ini 文件,修改以下:
spa
[root@localhost ~]# vim /usr/local/php/etc/php.ini extension_dir = "/usr/local/php/ext" extension=memcache.so
保存後能夠利用 「/usr/local/php/bin/php -m 」命令檢測和查看具體的模塊,若是有 memcache 說明配置成功。