所需源碼包:php
/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.gzhtml
在編譯PHP以前,先要解決兩個問題:CentOS6.x 上 libmcrypt 的安裝和可能有些系統找不到 libiconv 致使的錯誤。mysql
一、安裝PHP依賴庫sql
# 安裝 libmcryptapache
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
#安裝 mhashbash
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
#安裝 mcryptapp
/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
#安裝 libiconvcurl
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
二、安裝 PHP 5.2.17socket
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
三、重啓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