39.安裝PHP5 安裝PHP7

11.10/11.11/11.12 安裝PHP5php

11.13 安裝PHP7mysql

php中mysql,mysqli,mysqlnd,pdo究竟是什麼 linux

http://blog.csdn.net/u013785951/article/details/60876816sql

查看編譯參數 apache

http://ask.apelearn.com/question/1295vim

 

 

 

 

11.10/11.11/11.12 安裝PHP5:php7

 

 

PHP官網www.php.netsocket

當前主流版本爲5.6/7.1函數

有些過老的版本可能不兼容7版本。7的性能比5有很大的提高工具

cd /usr/local/src/

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/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 apxs2是Apache的一種工具,能夠自動的把擴展的模塊放到Apache的目錄裏,就是在咱們用httpd -M的時候能夠加載出來。阿鑫在作的時候,修改了他的路徑(find一下apxs2,查到目錄,修改一下就能夠了)

--with-config-file-path=/usr/local/php/etc 指定php的配置文件

--with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config 指定這三種mysql不一樣的庫。至關於php與mysql相互通訊的驅動,因此是定義mysql的函數或者驅動的

後面的都是指定php的模塊的

make && make install

cp php.ini-production /usr/local/php/etc/php.ini 咱們指定了他的配置文件,要拷貝到那裏去( --with-config-file-path).。若是是開發環境就用 php.ini-development,php.ini-production用於生產環境

 

知識點:

/usr/local/php/bin/ PHP的核心文件

/usr/local/apache2/modules/libphp5.so 這是咱們安裝php5的模塊。咱們須要的

/usr/local/php/bin/ -m 查看php加載的模塊有哪些(靜態的)。是能夠擴展的,增長.so的文件

/usr/local/apache2/bin/httpd -M 能夠查看Apache的模塊。最後就是咱們安裝的php5的模塊

php做爲Apache的擴展模塊存在的。也就是說Apache須要藉助php module,也就是藉助這個.so的文件

vim /usr/local/apache2/conf/httpd.conf 能夠查看Apache的模塊。php也在其中

 

實例:

[root@axinlinux-01]# cd /usr/local/src

[root@axinlinux-01 src]# wget http://cn2.php.net/distributions/php-5.6.32.tar.gz

[root@axinlinux-01 src]# cd php-5.6.32/

[root@axinlinux-01 php-5.6.32]# ./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

如下的幾個報錯

#yum install -y perl* 

​#yum install -y httpd-devel

#find / -name apxs  獲得的路徑是:/usr/sbin/apxs

因而修改--with-apsx2=/usr/sbin/apxs指定到正確路徑

還有n個報錯,都是缺乏一些庫。安裝就行了

[root@axinlinux-01 php-5.6.32]# echo $? 直到成功。configure成功

0

[root@axinlinux-01 php-5.6.32]# make 開始make

[root@axinlinux-01 php-5.6.32]# echo $? 查看是否成功

0

[root@axinlinux-01 php-5.6.32]# make install

[root@axinlinux-01 php-5.6.32]# echo $? 查看是否成功

0

[root@axinlinux-01 php-5.6.32]# cp php.ini-production /usr/local/php/etc/php.ini

 

 

!!阿鑫在./configure的時候,由於--with exps的路徑寫錯了。阿鑫的電腦路徑是apache2,跟着阿銘老師寫了2.4結果致使不成功。這點須要注意

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

 

11.13 安裝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/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

make && make install

ls /usr/local/apache2.4/modules/libphp7.so

cp php.ini-production /usr/local/php7/etc/php.ini 解釋跟php5同樣

 

 

ls /usr/local/apache2/modules 下就有libphp7.so。查看Apache的模塊

/usr/local/php7/bin/php -m 查看php7加載的模塊

/usr/local/apache2/bin/apachectl -M 查看Apache加載了幾個php。最下面就是php7和php5

 

咱們如何在PHP7和PHP5之間選擇切換,修改配置文件:

vim /usr/local/apache2/conf/httpd.conf 在裏面找到PHP5或PHP7(可/ 搜索php5.so),前面加#註釋,註釋掉這一個,就是使用另外一個

#LoadModule php5_module modules/libphp5.so

LoadModule php7_module modules/libphp7.so

 

 

 

 

實例:

[root@axinlinux-01 ~]# cd /usr/local/src

[root@axinlinux-01 src]# wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2

[root@axinlinux-01 src]# ls

[root@axinlinux-01 src]# tar -jxvf php-7.1.6.tar.bz2

[root@axinlinux-01 src]# ls

apr-1.6.3 apr-util-1.6.1.tar.gz mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz php-5.6.32.tar.bz2

apr-1.6.3.tar.gz httpd-2.4.34 mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz php-7.1.6

apr-util-1.6.1 httpd-2.4.34.tar.gz php-5.6.32 php-7.1.6.tar.bz2

[root@axinlinux-01 src]# cd php-7.1.6/

[root@axinlinux-01 php-7.1.6]# ./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2/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

[root@axinlinux-01 php-7.1.6]# echo $?

0

[root@axinlinux-01 php-7.1.6]# make

[root@axinlinux-01 php-7.1.6]# echo $?

0

[root@axinlinux-01 php-7.1.6]# make install

[root@axinlinux-01 php-7.1.6]# echo $?

0

[root@axinlinux-01 php-7.1.6]# cp php.ini-production /usr/local/php7/etc/php.ini

相關文章
相關標籤/搜索