所需源码包:
/usr/local/src/PHP-5.2.17/libmcrypt-2.5.8.tar.gz
/usr/local/src/PHP-5.2.17/mhash-0.9.9.9.tar.gz
/usr/local/src/PHP-5.2.17/mcrypt-2.6.8.tar.gz
/usr/local/src/PHP-5.2.17/libiconv-1.14.tar.gz
/usr/local/src/PHP-5.2.17/php-5.2.17.tar.gz
在编译PHP之前,先要解决两个问题:CentOS6.x 上 libmcrypt 的安装和可能有些系统找不到 libiconv 导致的错误。
1、安装PHP依赖库
# 安装 libmcrypt
cd /usr/local/src/PHP-5.2.17
tar -xzvf ./libmcrypt-2.5.8.tar.gz
cd ./libmcrypt-2.5.8
./configure --prefix=/usr
make && make install
#安装 mhash
cd /usr/local/src/PHP-5.2.17
tar -xzvf ./mhash-0.9.9.9.tar.gz
cd ./mhash-0.9.9.9
./configure --prefix=/usr
make && make install
#安装 mcrypt
/sbin/ldconfig #搜索出可共享的动态链接库
cd /usr/local/src/PHP-5.2.17
tar -xzvf ./mcrypt-2.6.8.tar.gz
cd ./mcrypt-2.6.8
./configure
make && make install
#安装 libiconv
cd /usr/local/src/PHP-5.2.17
tar -xzvf ./libiconv-1.14.tar.gz
cd ./libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install
2、安装 PHP 5.2.17
cd /usr/local/src/PHP-5.2.17/php-5.2.17
#生成配置
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-bz2 --with-gettext --with-mhash --with-mcrypt --with-iconv=/usr/local/libiconv --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --enable-gd-native-ttf --enable-bcmath --enable-mbstring --enable-zip --enable-soap --enable-sockets --enable-ftp --without-pear
#编译
make && make install
编译参数解释:
--prefix=/usr/local/php : 设置安装路径
--with-apxs2=/usr/local/apache/bin/apxs : 编译共享的 Apache 2.0 模块
--with-config-file-path=/etc : 指定配置文件php.ini地址
--with-config-file-scan-dir=/etc/php.d : 指定额外的ini文件目录
--with-openssl : 编译OpenSSL支持
--with-zlib : 编译zlib支持
--enable-bcmath : 启用BC风格精度数学函数
--with-bz2 : BZip2支持
--with-gd : GD支持
--enable-gd-native-ttf : 启用TrueType字符串函数
--with-gettext : 启用GNU gettext支持
--with-mhash : mhash支持
--enable-mbstring : 启用支持多字节字符串
--with-mcrypt : 编译mcrypt加密支持
--enable-zip : 启用zip 读/写支持
--with-iconv=/usr/local/libiconv : iconv支持
--with-curl : CRUL支持
--enable-soap : SOAP支持
--enable-sockets : SOCKETS支持
--enable-ftp : FTP支持
--with-mysql=/usr/local/mysql : 启用mysql支持
--with-pdo-mysql=/usr/local/mysql : 启用pdo-mysql支持
--without-pear : 不安装PEAR
更多编译参数解释参考http://www.php.net/manual/zh/configure.about.php 或者 ./configure --help 查看。
#复制配置文件php.ini
cp /usr/local/src/PHP-5.2.17/php-5.2.17/php.ini-dist /usr/local/php/etc/php.ini
#在/etc/httpd/conf/httpd.conf文件中加入PHP文件类型解析(加在文件最后即可)
Addtype application/x-httpd-php .php
3、重启Apache
service httpd restart # 或 /etc/init.d/httpd restart
运行 phpinfo() 函数,看下配置信息
延伸阅读:
CentOS6.3编译安装LAMP(2):编译安装 Apache2.2.25
CentOS6.3编译安装LAMP(2):编译安装 Apache2.4.6
CentOS6.3编译安装LAMP(3):编译安装 MySQL5.5.25
CentOS6.3编译安装LAMP(4):编译安装 PHP5.2.17