PHP5、PHP7安裝
安裝php5
#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 //圖片的元數據支持
如無特殊要求,直接復制上面的參數初始化即可。
錯誤提示,缺少xml2庫,安裝即可。
因為我們編譯的php的參數較多,所有要安裝的包也較多,這裏根據提示安裝就行。
#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 install
查看php加載的模塊:/usr/local/php/bin/php -m 這些模塊都 是靜態的模塊。
查看apache的模塊,可以看到php5的動態模塊:/usr/local/apache2.4/bin/httpd -M
查看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
PHP5、PHP7安裝