PHP源码编译,讲PHP编译成Apache的模块方式
编译环境:
环境系统:red hat 5 内核版本:2.6.18-371.el5
软件包:php-5.4.45
xcache-3.1.2
编译过程:
#tar zxf php-5.4.45.tar.gz //解压
#cd php-5.4.45
#./configure --prefix=/usr/local/php --enable-mbstring --enable-sockets --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-config-file-path=/usr/local/php/etc
//编译
#make
#make test //执行测试
#make install
#ls /usr/local/php
bin etc include lib php
#cp /root/Desktop/ /usr/local/php/php.ini
//准备PHP的配置文件
#vi /etc/httpd/httpd.conf //修改Apache的主配置文件
修改内容如下:
1 AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php //添加这一行,用来识别PHP网页
2 <IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule> //设置默认首页PHP
3 LoadModule php5_module modules/libphp5.so
//检查是否启用PHP模块
#/usr/local/apache2/bin/apachectl -t //检查配置文件语法是否正确
#/usr/local/apache2/bin/apachectl start //启动http的服务
#netstat -anput|grep 80
#vi /usr/local/apache2/htdocs/index.php //编辑PHP主页面内容如下
<?php
phpinfo();
?>
浏览器访问,检查安装结果
测试与MySQL的连接是否正常,修改如下:
vi /usr/local/apache2/htdocs/index.php
<?php
$link=mysql_connect('localhost','root','');
if ($link)
echo "seccess !!";
else
echo "failure !!";
?>
连接成功
停止MySQL服务测试一下
#service mysqld stop
连接失败
说明与MySQL连接也没有问题。
接下来安装xcache
xcache简介:XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能. 他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编译的代码从而提高速度,降低服务器负载。
#tar zxf xcache-3.1.2.tar.gz
#cd xcache-3.1.2
#/usr/local/php/bin/phpize
#./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
//需指定启用xcache功能和PHP的配置文件
#make
#make install //make install之后会有如下的路径,一定要记住,这是来修改xcache配置文件的路径
/usr/local/php/lib/php/extensions/no-debug-zts-20100525
#cp /root/Desktop/xcache-3.1.2xcache.ini /usr/local/php/etc/
//复制xcache配置文件到PHP配置文件目录下,因为xcache是PHP配置的一部分,而不是单独的,因为我在编译PHP的时候指定的配置文件在PHP/etc下,所以复制到这个目录,具体要看实际情况。
#vi /usr/local/php/etc/xcache.ini //修改xcache配置文件,修改如下:
extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
这就是make install之后出现的那个路径。
#/usr/local/apache2/bin/apachectl restart
//重启Apache服务
验证是否加载xcache功能,访问PHP主页面
能看到xcache模块,说明加载成功。