1. 程式人生 > >安裝PHP5和PHP7

安裝PHP5和PHP7

PHP5 PHP7

一、PHP5安裝

PHP,是英文超文本預處理語言Hypertext Preprocessor的縮寫。PHP 是一種 HTML 內嵌式的語言,是一種在服務器端執行的嵌入HTML文檔的腳本語言。官網:www.php.net

1、下載並解壓源碼安裝包

[root@zlinux bin]# cd /usr/local/src/
[root@zlinux src]# wget http://cn2.php.net/distributions/php-5.6.30.tar.bz2
[root@zlinux src]# tar jxf php-5.6.30.tar.bz2 

2、配置安裝

[root@zlinux src]# cd php-5.6.30/
[root@zlinux php-5.6.30]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/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 指定的安裝目錄;
–with-apxs2=/usr/local/apache2/bin/apxs 該文件是Apache的一個工具,可以將擴展模塊添加到Apache的module文件;
–with-config-file-path=/usr/local/php/etc 指定配置文件所在路徑;
–with-mysql=/usr/local/mysql 指定mysql的路徑;
–with-mysqli=/usr/local/mysql/bin/mysql_config
–with-pdo-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config 上面兩項參數是指定相關mysql庫

–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

安裝可能會遇到的問題

錯誤1:

configure: error: xml2-config not found. Please check your libxml2 installation.

解決方法:

[root@zlinux php-5.6.30]# yum list | grep libxml2
[root@zlinux php-5.6.30]# yum install -y libxml2-devel

錯誤2:

configure: error: Cannot find OpenSSL‘s <evp.h>

解決方法:

[root@zlinux php-5.6.30]# yum install -y openssl-devel

錯誤3:

configure: error: Please reinstall the BZip2 distribution

解決辦法:

[root@zlinux php-5.6.30]# yum install -y bzip2-devel

錯誤4

configure: error: jpeglib.h not found.

解決方法:

[root@zlinux php-5.6.30]# yum install -y libjpeg-devel

錯誤5

configure: error: png.h not found.

解決方法:

[root@zlinux php-5.6.30]# yum install -y libpng-devel

錯誤6

configure: error: freetype-config not found.

解決方法:

[root@zlinux php-5.6.30]# yum install -y freetype-devel

錯誤7

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

解決方法:

[root@zlinux php-5.6.30]# yum list |grep libmcrypt
libmcrypt.x86_64                          2.5.8-13.el7                 epel     
libmcrypt-devel.x86_64                    2.5.8-13.el7                 epel     
[root@zlinux php-5.6.30]# yum install -y libmcrypt-devel

如果沒有這個安裝包,則需要安裝下yum擴展包:

[root@zlinux php-5.6.30]# yum install epel-release

3、編譯安裝

[root@zlinux php-5.6.30]# make           //編譯
[root@zlinux php-5.6.30]# echo $?       //檢查上一條命令是否正確

[root@zlinux php-5.6.30]# make install             //安裝
[root@zlinux php-5.6.30]# echo $?                   //檢查上一條命令是否正確,也就是安裝是否出錯

4、配置文件

[root@zlinux php-5.6.30]# cp php.ini-
php.ini-development  php.ini-production   
[root@zlinux php-5.6.30]# cp php.ini-production /usr/local/php/etc/php.ini       //正常情況下使用php.ini-production,開發環境可以使用php.ini-development
[root@zlinux php-5.6.30]# /usr/local/php/bin/php -i | less

5、查看是否被Apache正確調用

[root@zlinux php-5.6.30]# cat /usr/local/apache2/conf/httpd.conf | grep php
LoadModule php5_module        modules/libphp5.so

二、PHP7安裝

安裝過程與PHP5安裝過程類似。
需要註意的是:

apache服務器可以存在2種版本的php,通過在apache的配置文件中註釋掉相應的行來關閉某個版本的php模塊.

 [root@zlinux ~]# vim /usr/local/apache2/conf/httpd.conf

技術分享圖片
如果不使用PHP7,在LoadMoudle前面加#即可。

安裝PHP5和PHP7