PHP官網www.php.net 當前主流版本爲5.6/7.1 cd /usr/local/src/php
安裝php5mysql
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz tar zxf php-5.6.30.tar.gz cd php-5.6.30
初始化安裝算法
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif
--prefix=/usr/local/php //指定php安裝路徑 --with-apxs2=/usr/local/apache2.4/bin/apxs //apache工具,讓apache支持php,表示使用apache2.0以上版本,apxs表示使用的apache1.0版本,apxs功能是使用mod_so中的LoadModule指令,加載指定模塊到 apache,要求 apache 要打開SO模塊。 --with-config-file-path=/usr/local/php/etc //指定php的配置文件。 --with-mysql=/usr/local/mysql //指定mysql的安裝路徑 --with-pdo-mysql=/usr/local/mysql // --with-mysqli=/usr/local/mysql/bin/mysql_config //mysqli擴展技術不只能夠調用MySQL的存儲過程、處理MySQL事務,並且還能夠使訪問數據庫工做變得更加穩定。 --with-libxml-dir //打開libxml2庫的支持 --with-gd //打開gd庫的支持 --with-jpeg-dir //打開對jpeg圖片的支持 --with-png-dir //打開對png圖片的支持 --with-freetype-dir //打開對freetype字體庫的支持 --with-iconv-dir //用於 PHP 編譯時指定 iconv 在系統裏的路徑,不然會掃描默認路徑。 --with-zlib-dir // 打開zlib庫的支持,用於http壓縮傳輸 --with-bz2 //打開對bz2文件的支持 --with-openssl //openssl的支持,加密傳輸https時用到的 --with-mcrypt //mcrypt算法擴展 --enable-soap // --enable-gd-native-ttf //支持TrueType字符串函數庫 --enable-mbstring //多字節,字符串的支持 --enable-sockets //打開 sockets 支持 --enable-exif //圖片的元數據支持
如無特殊要求,直接複製上面的參數初始化便可。sql
錯誤提示,缺乏xml2庫,安裝便可。數據庫
由於咱們編譯的php的參數較多,全部要安裝的包也較多,這裏根據提示安裝就行。apache
yum install -y libxml2-devel.x86_64 yum install -y openssl-devel yum install -y bzip2-devel.x86_64 yum install -y libjpeg-devel yum install -y libpng-devel yum install -y freetype-devel yum install libmcrypt-devel
出現上面這個界面即初始化完成,能夠開始編譯。 make && make installphp7
查看php加載的模塊:/usr/local/php/bin/php -m 這些模塊都 是靜態的模塊。less
查看apache的模塊,能夠看到php5的動態模塊:/usr/local/apache2.4/bin/httpd -Msocket
查看apache配置文件,能夠看到多了一行加載php模塊的語句,若是不想加載php模塊能夠註釋掉。 因爲咱們指定了配置文件路徑,全部這裏要把php默認的參考配置文件拷貝一份到/usr/local/php/etc/目錄下。 cp php.ini-production /usr/local/php/etc/php.ini函數
若是是開發環境,能夠使用 php.ini-development這個配置文件,php.ini-production文件適合生成環境。
用命令 /usr/local/php/bin/php -i | less能夠查看php的一些信息,編譯參數,配置路徑等。
安裝php7
cd /usr/local/src/ wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2 tar zxf php-7.1.6.tar.bz2 cd php-7.1.6 ./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php7/etc --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif
以上同php5相同,只修改了安裝路徑和配置文件路徑,其餘不變。
make && make install ls /usr/local/apache2.4/modules/libphp7.so cp php.ini-production /usr/local/php7/etc/php.ini
至於要使用哪一個版本,須要在apache配置文件裏面指定,即把不用的版本註釋掉便可。
/usr/local/apache2.4/conf/httpd.conf