將PHP編譯成apache一個模塊
安裝編譯apache ,php
1.編譯安裝apache
#tar xzf httpd-xxx.tar.gz
#cd httpd-xxx
#./configure --prefix=/usr/local/httpd
#make && make install
2.編譯安裝php
#tar xzf php-xxx.tar.gz
#cd php-xxx
#./configure --prefix=/usr/local/php \
--with-apxs2=/usr/local/httpd/bin/apxs
如提示缺少libxml2庫 則安裝 yum install -y libxml2 libxml2-devel 即可
#make && make install
2.1 與apache整合
# vim 編輯httpd.conf 添加如下:
# AddType application/x-httpd-php .php (這個目的是讓apache碰到PHP文件交給PHP模塊)
重啟apache
3. PHP擴展編譯的通用辦法
以memcache擴展為例
3.1 到軟件的官方(如memcached)或pecl.php.net 去尋找擴展源碼並下載解壓
3.2 進入到path/memcache目錄
3.3 根據當前的PHP版本動態的創建擴展的configure文件
#/xxx/path/php/bin/phpize \
--with-php-config=/xxx/path/php/bin/php-config
3.4 # ./configure --with-php-config=/xxx/path/php/bin/php-config
3.5 # make && make install
3.6 把生成的 .so擴展在PHP.ini里引入
# vim /usr/local/php/lib/php.ini
3.7 重啟apache
# /usr/local/httpd/bin/apachectl restart
4. php擴展redis
4.1 到pecl.php.com search redis
4.2 下載擴展解壓
4.3 執行/php/path/bin/phpize (作用是檢測PHP的內核版本,並為擴展生成相應的編譯配置)
/xxx/path/php/bin/phpize \
--with-php-config=/xxx/path/php/bin/php-config
4.5 # ./configure --with-php-config=/xxx/path/php/bin/php-config
4.6 # make && make install
如果沒發現php.ini 則cp php.ini-development /usr/local/php/lib/php.ini
4.7 把生成的 .so擴展在PHP.ini里引入
4.7.1 編輯php.ini
4.7.2 添加 extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/redis.so
重啟apache /usr/local/httpd/bin/apachectl restart
5、PHP代碼測試
<?php
$redis
= new Redis();
$redis
->
connect
(
'127.0.0.1'
, 6379);
$redis
->set(
'name'
,
'zhou'
, 10);
$key_1
=
$redis
->get(
'name'
);
echo
$key_1
;
?>