標籤:
所需源碼包:
/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.17tar -xzvf ./libmcrypt-2.5.8.tar.gzcd ./libmcrypt-2.5.8./configure --prefix=/usrmake && make install
#安裝 mhash
cd /usr/local/src/PHP-5.2.17tar -xzvf ./mhash-0.9.9.9.tar.gzcd ./mhash-0.9.9.9./configure --prefix=/usrmake && make install
#安裝 mcrypt
/sbin/ldconfig #搜尋出可共用的動態連結程式庫cd /usr/local/src/PHP-5.2.17tar -xzvf ./mcrypt-2.6.8.tar.gzcd ./mcrypt-2.6.8./configuremake && make install
#安裝 libiconv
cd /usr/local/src/PHP-5.2.17tar -xzvf ./libiconv-1.14.tar.gzcd ./libiconv-1.14./configure --prefix=/usr/local/libiconvmake && 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() 函數,頁面資訊如下:
http://blog.snsgou.com/1/phpinfo/phpinfo-5.2.17.htm
延伸閱讀:
CentOS6.x編譯安裝LAMP(1):準備工作
CentOS6.x編譯安裝LAMP(2):編譯安裝 Apache2.2.25
CentOS6.x編譯安裝LAMP(2):編譯安裝 Apache2.4.6
CentOS6.x編譯安裝LAMP(3):編譯安裝 MySQL5.5.25
CentOS6.x編譯安裝LAMP(4):編譯安裝 PHP5.2.17
CentOS6.x編譯安裝LAMP(4):編譯安裝 PHP5.3.27
PHP5不重新編譯,如何安裝內建的未安裝過的擴充,如soap擴充?
CentOS6.3 編譯安裝LAMP(4):編譯安裝 PHP5.2.17