将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
;
?>