zoukankan      html  css  js  c++  java
  • 在CentOS 7-8上安装PHP 8.0

    原文:https://www.iplayio.cn/post/739811

    在CentOS 8上安装PHP 8.0

    我们将使用REMI存储库在CentOS 8 / CentOS 7 Linux系统上安装PHP 8。安装有两种选择

    • 安装PHP 8.0作为主要的PHP版本
    • 与其他PHP版本一起安装PHP 8.0

    如果您希望安装并将PHP 8.0作为默认版本,请使用以下命令。这意味着用PHP 8.0提供的软件包替换发行版中的基本软件包。

    CentOS 8:

    sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    sudo dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
    sudo dnf -y install yum-utils
    sudo dnf module reset php
    sudo dnf module install php:remi-8.0 -y
    sudo dnf install php -y
    yum install php-fpm
    systemctl enable php-fpm
    yum install php-mysqlnd
    yum install php-mbstring


    安装compose:
    php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
    php composer-setup.php

    php -r "unlink('composer-setup.php');"

    上述 3 条命令的作用依次是:

    1. 下载安装脚本 - composer-setup.php - 到当前目录。
    2. 执行安装过程。
    3. 删除安装脚本
    全局安装:sudo mv composer.phar /usr/local/bin/composer


    https://www.phpcomposer.com/



     

    CentOS 7:

    sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
    sudo yum -y install yum-utils
    sudo yum-config-manager --disable 'remi-php*'
    sudo yum-config-manager --enable remi-php80
    sudo yum -y install php php-{cli,fpm,mysqlnd,zip,devel,gd,mbstring,curl,xml,pear,bcmath,json}

    要安装任何其他PHP软件包,请使用命令语法:

    sudo yum install php-xxx

    检查PHP版本:

    $ php --version
    PHP 8.0.0RC4 (cli) (built: Nov 10 2020 10:57:27) ( NTS gcc x86_64 )
    Copyright (c) The PHP Group
    Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies

    在CentOS 8上安装PHP 8.0:

    sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    sudo dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
    sudo dnf -y install yum-utils
    sudo dnf module reset php
    sudo dnf install php80

    通过按键盘上的y键接受安装:

    Dependencies resolved.
    ==================================================================================================================================================================
     Package                                           Architecture                Version                                       Repository                      Size
    ==================================================================================================================================================================
    Installing:
     php80                                             x86_64                      1.0-3.el8.remi                                remi-safe                      7.0 k
    Installing dependencies:
     environment-modules                               x86_64                      4.1.4-4.el8                                   BaseOS                         254 k
     php80-php-cli                                     x86_64                      8.0.0~rc4-37.el8.remi                         remi-safe                      3.2 M
     php80-php-common                                  x86_64                      8.0.0~rc4-37.el8.remi                         remi-safe                      716 k
     php80-runtime                                     x86_64                      1.0-3.el8.remi                                remi-safe                      1.1 M
     policycoreutils-python-utils                      noarch                      2.9-9.el8                                     BaseOS                         251 k
     scl-utils                                         x86_64                      1:2.0.2-12.el8                                AppStream                       47 k
     tcl                                               x86_64                      1:8.6.8-2.el8                                 BaseOS                         1.1 M
    
    Transaction Summary
    ==================================================================================================================================================================
    Install  8 Packages
    
    Total download size: 6.7 M
    Installed size: 25 M
    Is this ok [y/N]: y

    在CentOS 7上安装PHP 8.0:

    sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
    sudo yum -y install yum-utils
    sudo yum-config-manager --disable 'remi-php*'
    sudo yum-config-manager --enable remi-safe
    sudo yum -y install php80 

    使用以下命令安装其他PHP扩展:

    sudo yum install php80-php-xxx

    或者

    sudo yum install php80-php-{cli,fpm,mysqlnd,zip,devel,gd,mbstring,curl,xml,pear,bcmath,json}

    同意安装提示:

    ..
    Dependencies Resolved
    
    ==================================================================================================================================================================
     Package                                    Arch                           Version                                        Repository                         Size
    ==================================================================================================================================================================
    Installing:
     php80-php-bcmath                           x86_64                         8.0.0~rc4-37.el7.remi                          remi-safe                          82 k
     php80-php-devel                            x86_64                         8.0.0~rc4-37.el7.remi                          remi-safe                         794 k
     php80-php-fpm                              x86_64                         8.0.0~rc4-37.el7.remi                          remi-safe                         1.8 M
     php80-php-gd                               x86_64                         8.0.0~rc4-37.el7.remi                          remi-safe                          87 k
     php80-php-mbstring                         x86_64                         8.0.0~rc4-37.el7.remi                          remi-safe                         483 k
     php80-php-mysqlnd                          x86_64                         8.0.0~rc4-37.el7.remi                          remi-safe                         193 k
     php80-php-pear                             noarch                         1:1.10.12-2.el7.remi                           remi-safe                         363 k
     php80-php-pecl-zip                         x86_64                         1.19.1-1.el7.remi                              remi-safe                          53 k
     php80-php-xml                              x86_64                         8.0.0~rc4-37.el7.remi                          remi-safe                         174 k
    Installing for dependencies:
     php80-php-pdo                              x86_64                         8.0.0~rc4-37.el7.remi                          remi-safe                         127 k
     php80-php-process                          x86_64                         8.0.0~rc4-37.el7.remi                          remi-safe                          86 k
    
    Transaction Summary
    ==================================================================================================================================================================
    Install  9 Packages (+2 Dependent packages)
    
    Total download size: 4.2 M
    Installed size: 16 M
    Is this ok [y/d/N]: y

    使用以下命令检查PHP 8版本和可用扩展

    $ php80 --version
    PHP 8.0.0RC4 (cli) (built: Nov 10 2020 10:57:27) ( NTS gcc x86_64 )
    Copyright (c) The PHP Group
    Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
    
    $ php80 --modules

    [root@vmcentos7 ~]# systemctl start php-fpm
    [root@vmcentos7 ~]# systemctl status php-fpm
    ● php-fpm.service - The PHP FastCGI Process Manager
    Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
    Active: active (running) since Tue 2021-01-19 17:45:01 CST; 5s ago
    Main PID: 1201 (php-fpm)
    Status: "Ready to handle connections"
    CGroup: /system.slice/php-fpm.service
    ├─1201 php-fpm: master process (/etc/php-fpm.conf)
    ├─1202 php-fpm: pool www
    ├─1203 php-fpm: pool www
    ├─1204 php-fpm: pool www
    ├─1205 php-fpm: pool www
    └─1206 php-fpm: pool www

    Jan 19 17:45:01 vmcentos7.aliyun systemd[1]: Starting The PHP FastCGI Process Manager...
    Jan 19 17:45:01 vmcentos7.aliyun systemd[1]: Started The PHP FastCGI Process Manager.
    [root@vmcentos7 ~]# systemctl enable php-fpm
    Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.

    [root@vmcentos7 ~]# ss -lntp | grep php
    LISTEN 0 128 127.0.0.1:9000 *:* users:(("php-fpm",pid=1206,fd=8),("php-fpm",pid=1205,fd=8),("php-fpm",pid=1204,fd=8),("php-fpm",pid=1203,fd=8),("php-fpm",pid=1202,fd=8),("php-fpm",pid=1201,fd=6))

    [root@vmcentos7 html]# ps auxfww | grep php | grep -v grep
    root 1201 0.0 0.7 261468 14176 ? Ss 17:45 0:00 php-fpm: master process (/etc/php-fpm.conf)
    apache 1202 0.0 0.4 261624 9276 ? S 17:45 0:00 \_ php-fpm: pool www
    apache 1203 0.0 0.4 261624 9272 ? S 17:45 0:00 \_ php-fpm: pool www
    apache 1204 0.0 0.5 261624 9432 ? S 17:45 0:00 \_ php-fpm: pool www
    apache 1205 0.0 0.4 261468 8396 ? S 17:45 0:00 \_ php-fpm: pool www
    apache 1206 0.0 0.4 261468 8152 ? S 17:45 0:00 \_ php-fpm: pool www

    配置nginx访问php-fpm

    1,准备测试用的目录和代码:
    复制代码
    [root@kubemaster web]# mkdir /data/web/phpweb
    [root@kubemaster web]# mkdir /data/web/phpweb/html
    [root@kubemaster web]# cd /data/web/phpweb/html
    [root@kubemaster html]# vi info.php
    [root@kubemaster html]# more info.php
    <?php
    phpinfo();
    ?>
    复制代码
     
    2,配置nginx
       在nginx的配置文件中增加一个虚拟主机,使可以访问php
       demo如下:
    复制代码
          server {
            listen       8003;
            root   /data/web/phpweb/html;
     
            location ~ .php {
                    fastcgi_pass   127.0.0.1:9000;
                    fastcgi_index  index.php;
                    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                    include        fastcgi_params;
            }
        }
    复制代码
        然后重启nginx
     
      3,从浏览器访问php
    访问:
    http://127.0.0.1:8003/info.php


    [root@vmcentos7 nginx]# yum install php80-unit-php
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * remi-php80: mirrors.tuna.tsinghua.edu.cn
    * remi-safe: mirrors.tuna.tsinghua.edu.cn
    Resolving Dependencies
    --> Running transaction check
    ---> Package php80-unit-php.x86_64 0:1.21.0-1.el7.remi will be installed
    --> Processing Dependency: unit = 1.21.0 for package: php80-unit-php-1.21.0-1.el7.remi.x86_64
    --> Processing Dependency: php80-php-cli for package: php80-unit-php-1.21.0-1.el7.remi.x86_64
    --> Processing Dependency: php80-php-embedded for package: php80-unit-php-1.21.0-1.el7.remi.x86_64
    --> Running transaction check
    ---> Package php80-php-cli.x86_64 0:8.0.1-1.el7.remi will be installed
    --> Processing Dependency: php80-php-common(x86-64) = 8.0.1-1.el7.remi for package: php80-php-cli-8.0.1-1.el7.remi.x86_64
    ---> Package php80-php-embedded.x86_64 0:8.0.1-1.el7.remi will be installed
    ---> Package unit.x86_64 0:1.21.0-1.el7.remi will be installed
    --> Processing Dependency: libpcre2-8.so.0()(64bit) for package: unit-1.21.0-1.el7.remi.x86_64
    --> Running transaction check
    ---> Package pcre2.x86_64 0:10.23-2.el7 will be installed
    ---> Package php80-php-common.x86_64 0:8.0.1-1.el7.remi will be installed
    --> Processing Dependency: php80-runtime for package: php80-php-common-8.0.1-1.el7.remi.x86_64
    --> Running transaction check
    ---> Package php80-runtime.x86_64 0:1.0-3.el7.remi will be installed
    --> Processing Dependency: /usr/sbin/semanage for package: php80-runtime-1.0-3.el7.remi.x86_64
    --> Processing Dependency: environment-modules for package: php80-runtime-1.0-3.el7.remi.x86_64
    --> Processing Dependency: scl-utils for package: php80-runtime-1.0-3.el7.remi.x86_64
    --> Running transaction check
    ---> Package environment-modules.x86_64 0:3.2.10-10.el7 will be installed
    --> Processing Dependency: libtcl8.5.so()(64bit) for package: environment-modules-3.2.10-10.el7.x86_64
    ---> Package policycoreutils-python.x86_64 0:2.5-34.el7 will be installed
    --> Processing Dependency: setools-libs >= 3.3.8-4 for package: policycoreutils-python-2.5-34.el7.x86_64
    --> Processing Dependency: libsemanage-python >= 2.5-14 for package: policycoreutils-python-2.5-34.el7.x86_64
    --> Processing Dependency: audit-libs-python >= 2.1.3-4 for package: policycoreutils-python-2.5-34.el7.x86_64
    --> Processing Dependency: python-IPy for package: policycoreutils-python-2.5-34.el7.x86_64
    --> Processing Dependency: libqpol.so.1(VERS_1.4)(64bit) for package: policycoreutils-python-2.5-34.el7.x86_64
    --> Processing Dependency: libqpol.so.1(VERS_1.2)(64bit) for package: policycoreutils-python-2.5-34.el7.x86_64
    --> Processing Dependency: libcgroup for package: policycoreutils-python-2.5-34.el7.x86_64
    --> Processing Dependency: libapol.so.4(VERS_4.0)(64bit) for package: policycoreutils-python-2.5-34.el7.x86_64
    --> Processing Dependency: checkpolicy for package: policycoreutils-python-2.5-34.el7.x86_64
    --> Processing Dependency: libqpol.so.1()(64bit) for package: policycoreutils-python-2.5-34.el7.x86_64
    --> Processing Dependency: libapol.so.4()(64bit) for package: policycoreutils-python-2.5-34.el7.x86_64
    ---> Package scl-utils.x86_64 0:20130529-19.el7 will be installed
    --> Running transaction check
    ---> Package audit-libs-python.x86_64 0:2.8.5-4.el7 will be installed
    ---> Package checkpolicy.x86_64 0:2.5-8.el7 will be installed
    ---> Package libcgroup.x86_64 0:0.41-21.el7 will be installed
    ---> Package libsemanage-python.x86_64 0:2.5-14.el7 will be installed
    ---> Package python-IPy.noarch 0:0.75-6.el7 will be installed
    ---> Package setools-libs.x86_64 0:3.3.8-4.el7 will be installed
    ---> Package tcl.x86_64 1:8.5.13-8.el7 will be installed
    --> Finished Dependency Resolution

    Dependencies Resolved

    =============================================================================================================================================================================================================================================
    Package Arch Version Repository Size
    =============================================================================================================================================================================================================================================
    Installing:
    php80-unit-php x86_64 1.21.0-1.el7.remi remi-safe 63 k
    Installing for dependencies:
    audit-libs-python x86_64 2.8.5-4.el7 base 76 k
    checkpolicy x86_64 2.5-8.el7 base 295 k
    environment-modules x86_64 3.2.10-10.el7 base 107 k
    libcgroup x86_64 0.41-21.el7 base 66 k
    libsemanage-python x86_64 2.5-14.el7 base 113 k
    pcre2 x86_64 10.23-2.el7 base 201 k
    php80-php-cli x86_64 8.0.1-1.el7.remi remi-safe 3.5 M
    php80-php-common x86_64 8.0.1-1.el7.remi remi-safe 706 k
    php80-php-embedded x86_64 8.0.1-1.el7.remi remi-safe 1.7 M
    php80-runtime x86_64 1.0-3.el7.remi remi-safe 1.1 M
    policycoreutils-python x86_64 2.5-34.el7 base 457 k
    python-IPy noarch 0.75-6.el7 base 32 k
    scl-utils x86_64 20130529-19.el7 base 24 k
    setools-libs x86_64 3.3.8-4.el7 base 620 k
    tcl x86_64 1:8.5.13-8.el7 base 1.9 M
    unit x86_64 1.21.0-1.el7.remi remi-safe 283 k

    Transaction Summary
    =============================================================================================================================================================================================================================================
    Install 1 Package (+16 Dependent packages)

    Total download size: 11 M
    Installed size: 37 M
    Is this ok [y/d/N]: y
    Downloading packages:
    (1/17): audit-libs-python-2.8.5-4.el7.x86_64.rpm | 76 kB 00:00:00
    (2/17): checkpolicy-2.5-8.el7.x86_64.rpm | 295 kB 00:00:00
    (3/17): environment-modules-3.2.10-10.el7.x86_64.rpm | 107 kB 00:00:00
    (4/17): libcgroup-0.41-21.el7.x86_64.rpm | 66 kB 00:00:00
    (5/17): libsemanage-python-2.5-14.el7.x86_64.rpm | 113 kB 00:00:00
    (6/17): pcre2-10.23-2.el7.x86_64.rpm | 201 kB 00:00:00
    (7/17): php80-php-common-8.0.1-1.el7.remi.x86_64.rpm | 706 kB 00:00:00
    (8/17): php80-php-cli-8.0.1-1.el7.remi.x86_64.rpm | 3.5 MB 00:00:01
    (9/17): php80-php-embedded-8.0.1-1.el7.remi.x86_64.rpm | 1.7 MB 00:00:00
    (10/17): python-IPy-0.75-6.el7.noarch.rpm | 32 kB 00:00:00
    (11/17): policycoreutils-python-2.5-34.el7.x86_64.rpm | 457 kB 00:00:00
    (12/17): scl-utils-20130529-19.el7.x86_64.rpm | 24 kB 00:00:00
    (13/17): setools-libs-3.3.8-4.el7.x86_64.rpm | 620 kB 00:00:00
    (14/17): tcl-8.5.13-8.el7.x86_64.rpm | 1.9 MB 00:00:00
    (15/17): php80-unit-php-1.21.0-1.el7.remi.x86_64.rpm | 63 kB 00:00:00
    (16/17): php80-runtime-1.0-3.el7.remi.x86_64.rpm | 1.1 MB 00:00:00
    (17/17): unit-1.21.0-1.el7.remi.x86_64.rpm | 283 kB 00:00:00
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Total 6.0 MB/s | 11 MB 00:00:01
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    Installing : setools-libs-3.3.8-4.el7.x86_64 1/17
    Installing : audit-libs-python-2.8.5-4.el7.x86_64 2/17
    Installing : checkpolicy-2.5-8.el7.x86_64 3/17
    Installing : python-IPy-0.75-6.el7.noarch 4/17
    Installing : 1:tcl-8.5.13-8.el7.x86_64 5/17
    Installing : environment-modules-3.2.10-10.el7.x86_64 6/17
    Installing : libsemanage-python-2.5-14.el7.x86_64 7/17
    Installing : libcgroup-0.41-21.el7.x86_64 8/17
    Installing : policycoreutils-python-2.5-34.el7.x86_64 9/17
    Installing : scl-utils-20130529-19.el7.x86_64 10/17
    Installing : php80-runtime-1.0-3.el7.remi.x86_64 11/17
    Installing : php80-php-common-8.0.1-1.el7.remi.x86_64 12/17
    Installing : php80-php-cli-8.0.1-1.el7.remi.x86_64 13/17
    Installing : php80-php-embedded-8.0.1-1.el7.remi.x86_64 14/17
    Installing : pcre2-10.23-2.el7.x86_64 15/17
    Installing : unit-1.21.0-1.el7.remi.x86_64 16/17
    Installing : php80-unit-php-1.21.0-1.el7.remi.x86_64 17/17
    Verifying : php80-php-common-8.0.1-1.el7.remi.x86_64 1/17
    Verifying : pcre2-10.23-2.el7.x86_64 2/17
    Verifying : php80-unit-php-1.21.0-1.el7.remi.x86_64 3/17
    Verifying : php80-runtime-1.0-3.el7.remi.x86_64 4/17
    Verifying : scl-utils-20130529-19.el7.x86_64 5/17
    Verifying : libcgroup-0.41-21.el7.x86_64 6/17
    Verifying : php80-php-cli-8.0.1-1.el7.remi.x86_64 7/17
    Verifying : libsemanage-python-2.5-14.el7.x86_64 8/17
    Verifying : 1:tcl-8.5.13-8.el7.x86_64 9/17
    Verifying : environment-modules-3.2.10-10.el7.x86_64 10/17
    Verifying : python-IPy-0.75-6.el7.noarch 11/17
    Verifying : unit-1.21.0-1.el7.remi.x86_64 12/17
    Verifying : checkpolicy-2.5-8.el7.x86_64 13/17
    Verifying : policycoreutils-python-2.5-34.el7.x86_64 14/17
    Verifying : audit-libs-python-2.8.5-4.el7.x86_64 15/17
    Verifying : setools-libs-3.3.8-4.el7.x86_64 16/17
    Verifying : php80-php-embedded-8.0.1-1.el7.remi.x86_64 17/17

    Installed:
    php80-unit-php.x86_64 0:1.21.0-1.el7.remi

    Dependency Installed:
    audit-libs-python.x86_64 0:2.8.5-4.el7 checkpolicy.x86_64 0:2.5-8.el7 environment-modules.x86_64 0:3.2.10-10.el7 libcgroup.x86_64 0:0.41-21.el7 libsemanage-python.x86_64 0:2.5-14.el7
    pcre2.x86_64 0:10.23-2.el7 php80-php-cli.x86_64 0:8.0.1-1.el7.remi php80-php-common.x86_64 0:8.0.1-1.el7.remi php80-php-embedded.x86_64 0:8.0.1-1.el7.remi php80-runtime.x86_64 0:1.0-3.el7.remi
    policycoreutils-python.x86_64 0:2.5-34.el7 python-IPy.noarch 0:0.75-6.el7 scl-utils.x86_64 0:20130529-19.el7 setools-libs.x86_64 0:3.3.8-4.el7 tcl.x86_64 1:8.5.13-8.el7
    unit.x86_64 0:1.21.0-1.el7.remi

    Complete!

     
  • 相关阅读:
    五)使用 easyui-tabs 遭遇错误 Unexpected Exception caught setting '_' on
    六)iframe 及父子页面之间获取元素、方法调用
    七)如何实现权限控制
    二)手动添加基础数据
    三)EasyUI layout
    四)绘树
    一)6张表
    RollingFileAppender
    GitLabCI VS Jenkins 对比
    Nacos 学习记录
  • 原文地址:https://www.cnblogs.com/xwhgr/p/14297320.html
Copyright © 2011-2022 走看看