原文: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作为默认版本,请使用以下命令。这意味着用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 条命令的作用依次是:
- 下载安装脚本 -
composer-setup.php
- 到当前目录。 - 执行安装过程。
- 删除安装脚本
全局安装: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
与其他PHP版本一起安装PHP 8.0
在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
[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(); ?>
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; } }
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!