编译安装LAMP之php-5.4.13和xcache

编译安装php-5.4.13和xcache

在之前的篇幅中我们曾谈到过,apache与php交互的方式主要有三种,在这里我们使用到的方式就是将php编译成apache的一个模块,这样apache与php的交互直接在apache内部运行,不需要创建额外的进程。

1、在编译前先解决依赖关系

安装如下软件

# yum -y groupinstall "X Software Development"

如果想让php支持mcrypt扩展功能。还需要安装如下两个rpm包

libmcrypt-2.5.7-5.el5.i386.rpm
libmcrypt-devel-2.5.7-5.el5.i386.rpm

 

2、编译安装php-5.4.13
# tar xf php-5.4.13.tar.bz2
# cd php-5.4.13
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts

 

说明:

1、这里为了支持apache的worker或event这两个MPM,编译时使用了--enable-maintainer-zts选项。

2、如果使用PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发包了。mysqlnd从php 5.3开始可用,可以编译时绑定到它(而不用和具体的MySQL客户端库绑定形成依赖),但从PHP 5.4开始它就是默认设置了。
# ./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd

 

# make
# make test
# make intall

 

3、为php提供配置文件

# cp php.ini-production /etc/php.ini

 

4、 编辑apache配置文件httpd.conf,使apache支持php
 
 # vim /etc/httpd/httpd.conf
 1、添加如下二行
   AddType application/x-httpd-php  .php
   AddType application/x-httpd-php-source  .phps  

 2、定位至DirectoryIndex index.html
   修改为:
    DirectoryIndex  index.php  index.html

 

然后再/usr/local/apache/htdocs目录下创建index.php文件,就可以测试是否安装成功

在这里我写了一个php脚本

<?php
  $conn=mysql_connect(‘localhost‘,‘root‘,‘‘);
  if ($conn)
    echo "Success...";
  else
    echo "Failure...";

  echo  phpinfo();
?>

这个脚本既可以测试php是否连接成功,还可以测试mysql是否连接上去了。

 

而后重新启动httpd,或让其重新载入配置文件即可测试php是否已经可以正常使用。

 

编译安装xcache,为php加速:

1、编译安装xcache

1、安装
# tar xf xcache-3.0.1.tar.gz
# cd xcache-3.0.1
# /usr/local/php/bin/phpize

(上行命令主要是执行脚本文件,让php支持扩展功能)
# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
# make && make install


安装结束时,会出现类似如下行:
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20100525/

#注意这一行非常关键,尤其是后面的一段字符串,他要添加到某个文件中去的。

 

2、编辑php.ini,整合php和xcache:
首先将xcache提供的样例配置导入php.ini
# mkdir /etc/php.d
# cp xcache.ini   /etc/php.d

说明:xcache.ini文件在xcache的源码目录中。

 

接下来编辑/etc/php.d/xcache.ini,找到extension开头的行,修改为如下行:
extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so


注意:如果php.ini文件中有多条extension指令行,要确保此新增的行排在第一位。

安装完成之后,在重启httpd服务,然后再使用浏览器访问index.php文件就可以看到xcache功能了。

本文出自 “linux学习之路” 博客,谢绝转载!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。