安裝PHP五、安裝PHP7

php中mysql,mysqli,mysqlnd,pdo究竟是什麼 http://blog.csdn.net/u013785951/article/details/60876816php

查看編譯參數 http://ask.apelearn.com/question/1295mysql

PHP5安裝

  • 進到src目錄下 cd /usr/local/src
  • 下載PHP5源碼包wget http://cn2.php.net/distributions/php-5.6.37.tar.gz
  • 解壓下載的文件 tar -zxvf php-5.6.37.tar.gz
  • 進入文件目錄 cd php-5.6.37
  • configure ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/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-zlib-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl-dir=/usr/include/openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif
  • 查看報錯信息
checking for xml2-config path… 
configure: error: xml2-config not found. Please check your libxml2 installation.
  • 解決辦法以下,完成後再執行configure
yum install libxml2-devel -y 
yum install libxml2 -y
  • 查看報錯信息
configure:error: cannot find OpenSSL's <evp'h>
  • 解決以下,完成後再執行configure時將--with-openssl 改成--with-openssl-dir=/usr/include/openssl。或者不更改命令,直接執行yum install -y openssl-devel 也能夠。
export PHP_OPENSSL_DIR=yes
  • 查看報錯信息
configure:error:please reinstall the BZip2 distribution
  • 解決以下,完成後繼續configure
yum install bzip2-devel -y
  • 查看報錯信息
configure:error:jpeglib.h not found
  • 解決以下,完成後繼續configure
yum install libjpeg-devel -y
  • 查看報錯信息
png.h  not found
  • 解決後繼續configure
yum install libpng-devel
  • 查看報錯信息
freetype-config not found
  • 解決後繼續configure
yum install freetype-devel -y
  • 查看報錯信息
mcrypt.h not found please reinstall libmcrypt
  • 解決後繼續configure
yum install libmcrypt-devel -y

  • 出現這個界面就能夠編譯安裝了
  • make && make install
  • 編譯安裝完以後須要拷貝一個文件作配置文件 ,源文件是在/usr/local/src/php-5.6.37下 ,cp php.ini-development /usr/local/php/etc/php.ini
  • 查看是否加載配置文件,該命令能夠查看PHP信息,包括編譯參數,configure路徑等。
/usr/local/php/bin/php -i |less

安裝PHP 7

PHP7和PHP5的安裝大同小異sql

  • 進入/usr/local/src目錄apache

  • wget http://cn2.php.net/distributions/php-7.1.20.tar.bz2api

  • tar jxvf php-7.1.20.tar.bz2php7

  • cd php-7.1。20app

  • ./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache/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 --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exifless

  • 由於以前裝過PHP5,不少包已經安裝了,因此這一步通常不會報錯。dom

checking whether to build shared libraries... yes
checking whether to build static libraries... no

creating libtool
appending configuration tag "CXX" to libtool

Generating files
configure: creating ./config.status
creating main/internal_functions.c
creating main/internal_functions_cli.c
+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+

Thank you for using PHP.

config.status: creating php7.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing default commands
configure: WARNING: unrecognized options: --with-freetype
[root@localhost php-7.1.20]# echo $?
0
  • make&&make install 編譯安裝
  • ls /usr/local/apache2.4/modules/libphp7.so
[root@localhost php-7.1.20]# cd /usr/local/apache/modules/
[root@localhost modules]# ls
httpd.exp             mod_authn_dbm.so        mod_cache.so          mod_headers.so              mod_proxy_ajp.so       mod_ratelimit.so         mod_socache_shmcb.so
libphp5.so
  • cp php.ini-production /usr/local/php7/etc/php.ini
  • 安裝完成後,能夠使用/usr/local/apache2.4/bin/apachectl -M 查看加載的模塊,能夠看到7和5都被加載了。-
[root@localhost php-7.1.20]# /usr/local/apache/bin/apachectl -M |grep php
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
 php5_module (shared)
 php7_module (shared)
  • 當一臺機器上面裝的既有5又有7的時候,若是想讓Apache啓動時加載7,就在配置文件中將5那一行註釋掉 vi /usr/local/apache/conf/httpd.conf
#LoadModule php5_module        modules/libphp5.so
LoadModule php7_module        modules/libphp7.so

註釋掉5後發現再也不加載PHP5了。socket

[root@localhost php-7.1.20]# /usr/local/apache/bin/apachectl -M |grep php
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
 php7_module (shared)
相關文章
相關標籤/搜索