确保系统已更新:
sudo yum update
添加EPEL和Webtatic仓库(可选,用于获取更新的PHP版本):
sudo yum install epel-release
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install php
PHP 7.1:
sudo yum install php71w php71w-common php71w-opcache php71w-cli php71w-gd php71w-curl php71w-mysqlnd
PHP 7.2:
sudo yum install php72w php72w-common php72w-opcache php72w-cli php72w-gd php72w-curl php72w-mysqlnd
PHP 7.3/7.4: 需要先添加Remi仓库:
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install yum-utils
sudo yum-config-manager --enable remi-php73 # 或 remi-php74
sudo yum install php php-common php-opcache php-cli php-gd php-curl php-mysqlnd
sudo yum install php-mbstring php-xml php-json php-zip php-pdo php-fpm php-pecl-memcached php-pecl-redis
主配置文件(/etc/php.ini
):
sudo vi /etc/php.ini
常见修改项:
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
date.timezone = Asia/Shanghai
PHP-FPM配置(如果使用):
sudo vi /etc/php-fpm.d/www.conf
修改用户/组和监听方式:
user = apache
group = apache
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = apache
listen.group = apache
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
php -v
php -m # 查看已加载的模块
确保已安装mod_php:
sudo yum install php
sudo systemctl restart httpd
配置Nginx使用PHP-FPM:
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
然后重启Nginx:
sudo systemctl restart nginx
找不到包:
sudo yum clean all
PHP版本不正确:
rpm -qa | grep php
sudo yum remove php*
扩展未加载:
/etc/php.d/
目录下是否有对应扩展的ini文件通过以上步骤,您应该能够在RHEL 7.4上成功安装和配置PHP环境。