首頁  >  文章  >  後端開發  >  CentOS如何安裝PHP5和PHP7

CentOS如何安裝PHP5和PHP7

coldplay.xixi
coldplay.xixi轉載
2021-01-25 09:29:452701瀏覽

CentOS如何安裝PHP5和PHP7

推薦(免費):PHP7

安裝PHP5

  • 下載解壓縮二進位套件

#
[root@test-a src]# cd /usr/local/src/
[root@test-a src]# wget  http://cn2.php.net/distributions/php-5.6.32.tar.bz2
[root@test-a src]# tar jxvf php-5.6.32.tar.bz2
  • ##編譯安裝PHP

  • ##
    ./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
    
    #报错:
    ...
    configure: error: Cannot find OpenSSL's <evp.h>
    
    # 安装openssl
    [root@test-a php-5.6.32]# yum install openssl-devel -y
    ...
    Total size: 14 M
    Total download size: 151 k
    Downloading packages:
    Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
    libselinux-utils-2.5-12.el7.x8 FAILED
    http://mirrors.163.com/centos/7/os/x86_64/Packages/libselinux-utils-2.5-12.el7.x86_64.rpm: [Errno 14] HTTP Error 416 - Requested Range Not Satisfiable
    Trying other mirror.
    
    Error downloading packages:
      libselinux-utils-2.5-12.el7.x86_64: [Errno 256] No more mirrors to try.
    
    # 安装过程报错,需要安装deltarpm
    [root@test-a php-5.6.32]# yum install deltarpm
    ...
    Downloading packages:
    No Presto metadata available for base
    libselinux-utils-2.5-12.el7.x8 FAILED
    http://mirrors.163.com/centos/7/os/x86_64/Packages/libselinux-utils-2.5-12.el7.x86_64.rpm: [Errno 14] HTTP Error 416 - Requested Range Not Satisfiable
    Trying other mirror.
    
    
    Error downloading packages:
      libselinux-utils-2.5-12.el7.x86_64: [Errno 256] No more mirrors to try.
    # 还是报错,由于之前用的Base源是163的,换回默认的Base源再试就OK了... :(
    # 继续初始化配置过程,报错
    ...
    checking for BZip2 support… yes checking for BZip2 in default path… not found configure: error: Please reinstall the BZip2 distribution 
    [root@test-a php-5.6.32]# yum -y install bzip2-devel
    # 继续报错
    ...
    checking for stdarg.h... (cached) yes
    checking for mcrypt support... yes
    configure: error: mcrypt.h not found. Please reinstall libmcrypt.
    # 继续报错
    [root@test-a php-5.6.32]# yum install -y libmcrypt-devel
    
    #继续报错
    ...
    checking for MySQL support... yes
    checking for specified location of the MySQL UNIX socket... no
    configure: error: Cannot find libmysqlclient_r under /usr/local/mysql.
    Note that the MySQL client library is not bundled anymore!
    # PHP默认是去/usr/local/mysql/lib/mysql/搜索,没有找到报错,复制或者做个软连接就行.
    [root@test-a php-5.6.32]# cp /usr/local/mysql/lib/libmysqlclient.so /usr/local/mysql/lib/mysql/libmysqlclient_r.so
    
    # 再次安装,苍了个天,看见Thank you...啦 成功!
    ...
    Thank you for using PHP.
    
    config.status: creating php5.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
    
    
    # 编译
    [root@test-a php-5.6.32]# make
    ...
    Build complete.
    Don't forget to run 'make test'.
    
    # 安装
    [root@test-a php-5.6.32]# make install
  • 查看php的模組
(都是靜態的)
  • #
    [root@test-a php-5.6.32]#  /usr/local/php/bin/php -m
    [PHP Modules]
    bz2
    Core
    ctype
    date
    dom
    ereg
    exif
    fileinfo
    filter
    gd
    hash
    iconv
    json
    libxml
    mbstring
    mcrypt
    mysql
    mysqli
    openssl
    pcre
    PDO
    pdo_mysql
    pdo_sqlite
    Phar
    posix
    Reflection
    session
    SimpleXML
    soap
    sockets
    SPL
    sqlite3
    standard
    tokenizer
    xml
    xmlreader
    xmlwriter
    zlib
    
    [Zend Modules]
    
    # 拷贝配置文件
    [root@test-a php-5.6.32]# cp php.ini-production /usr/local/php/etc/php.ini
    
    # 查看php信息
    [root@test-a php-5.6.32]#  /usr/local/php/bin/php -i
    安裝PHP7

下載安裝套件解壓縮

[root@test-a src]# wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2
[root@test-a src]# tar jxvf php-7.1.6.tar.bz2
##########設定初始化#########
[root@test-a src]# cd php-7.1.6/
[root@test-a 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
# 出错
....
checking for mysql_set_server_option in -lmysqlclient_r... no
configure: error: wrong mysql library version or lib not found. Check config.log for more information.
# 由于php已经带了这个模块,所以编译时不指定mysqli的路径,继续
[root@test-a 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 --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

#出错
...
checking for mysql_commit in -lmysqlclient_r... (cached) no
configure: error: PDO_MYSQL configure failed, MySQL 4.1 needed. Please check config.log for more information.

#编译时不指定pdo的路径,继续
root@test-a 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 --with-mysqli --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

...
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
####################################編譯安裝#########
[root@test-a php-7.1.6]# make
[root@test-a php-7.1.6]# make install
[root@test-a php-7.1.6]# ls /usr/local/apache2.4/modules/libphp*
/usr/local/apache2.4/modules/libphp5.so  /usr/local/apache2.4/modules/libphp7.so
######更多其他相關學習敬請關注###PHP7教學###欄位~######

以上是CentOS如何安裝PHP5和PHP7的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除