摘要:
2023-12-29 服务器开发-centos-安装php8
centos-安装php8
必备条件
- Minimal CentOS 8 / RHEL 8
- User with sudo rights
- Internet Connection
(1) 更新系统
更新系统
$ sudo dnf update
$ sudo dnf upgrade
重启系统
$ sudo reboot
(2) 启用 EPEL & Remi 软件库
PHP 8 在 CentOS 8 / RHEL 8 包存储库中不可用,我们必须启用 EPEL 和 remi 存储库。
sudo dnf install -y epel-release
sudo dnf install -y http://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf install -y https://www.zhihu.com/search?q=dnf-utils&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2947610331%7D
查看可用的 PHP 版本
sudo dnf module list php
PHP8-modules-list-centos8
(4) 使用 Remi 模块安装 PHP 8
重置 PHP 模块,并从 remi-8.0 模块安装 PHP 8
sudo dnf module reset php
sudo dnf module install -y php:remi-8.1
bash
yum install -y php-fpm php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
yum install php php-fpm php-mysql -y
Install-php8-remi-repository-centos8-rhel8
验证 PHP 版本
[linuxtechi@centos-8 ~]$ php -v
PHP 8.0.0 (cli) (built: Nov 24 2020 17:04:03) (NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
[https://www.zhihu.com/search?q=linuxtechi%40centos-8&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2947610331%7D ~]$
很好,上面的输出确认 PHP 8 已经安装。这个 PHP 用于 HTTPD web 服务器。
要为 NGINX web 服务器安装 PHP 8,我们必须安装 PHP 8 fpm 包。
$ sudo dnf install -y php-fpm
安装完 php-fpm 包,启动并启用其服务
$ sudo systemctl enable php-fpm --now
检查 php-fpm 服务状态
$ systemctl status php-fpm
Verify-Status-php-fpm-service
PHP 8 扩展也可以通过 dnf 命令安装,示例如下:
$ sudo dnf install -y php-{mysqlnd,xml,xmlrpc,curl,gd,imagick,mbstring,opcache,soap,zip}
(5) 为 HTTPD 和 NGINX 配置 PHP 8
HTTPD Web Server
编辑 /etc/php.ini 配置文件,以适用自己的需求。
$ sudo vi /etc/php.ini
.........
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
https://www.zhihu.com/search?q=max_input_time&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2947610331%7D = 1000
.........
保存并关闭文件,然后重新启动 web 服务器。
$ sudo systemctl restart httpd
Nginx Web Server
编辑 /etc/php-fpm.d/www.conf 配置文件,以适用自己的需求。
$ sudo vi /etc/php-fpm.d/www.conf
保存并关闭文件,然后重新启动 php-fpm 服务。
$ sudo systemctl restart php-fpm