首先是编译准备工作:
yum groupinstall "Development tools"
然后是编译安装 PHP 5.5.x 需要用到的 devel 包:
yum install libxml2-devel gd-devel libmcrypt-devel libcurl-devel openssl-devel
从官方下载,解压:
wget http://us3.php.net/get/php-5.5.5.tar.gz/from/cn2.php.net/mirror tar -xvf php-5.5.5.tar.gz cd php-5.5.5
编译安装 php 5.5 的参数:
./configure --with-apxs2=/usr/local/apache2/bin/apxs --disable-cli --enable-shared --with-libxml-dir --with-gd --with-openssl --enable-mbstring --with-mcrypt --with-mysqli --with-mysql --enable-opcache --enable-mysqlnd --enable-zip --with-zlib-dir --with-pdo-mysql --with-jpeg-dir --with-freetype-dir --with-curl --without-pdo-sqlite --without-sqlite3
我已经尽量的在参数上做了精简,用以上参数编译安装好的 php 运行 wordpress, joomla, ip board 等常见的博客、论坛程序都是没有问题的,因为有了 --disable-cli,所以就没法 make test 了,安装好以后也没法 php -v 了。安装吧:
make make install cp php.ini-production /usr/local/lib/php.ini #记住上面 php.ini 的位置哦。
如是apache, 配制 apache
是时候让 apache 知道有 php 的存在了,在 apache 配置文件 httpd.conf 中添加:
LoadModule php5_module modules/libphp5.so #上面那行可能在编译安装 php 的过程中已经由系统自动添加了 <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>
OK!重启 apache,人品好的人是不会出现问题的。
如是nignx, 配制 nignx
cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak #备份原有配置文件 vi /etc/nginx/conf.d/default.conf #编辑
index index.php index.html index.htm; #增加index.php
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }#取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径
service nginx restart #重启nginx
CentOS 编译安装php5.5, 并配制支持apach,nignx核心代码
原文地址:http://jamesrh.blog.51cto.com/7529515/1561008