在 CentOS 上“整合 Apache 和 PHP”,通常是指:让 Apache 能够解析并执行 PHP 脚本。下面以 CentOS 7 / 8(含 Stream) 为例,分别说明常见做法。
# CentOS 7
yum install httpd -y
# CentOS 8 / Stream
dnf install httpd -y
启动并设置开机自启:
systemctl start httpd
systemctl enable httpd
yum install epel-release -y
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
yum install yum-utils -y
yum-config-manager --enable remi-php74
yum install php php-cli php-common php-mysqlnd -y
dnf install php php-cli php-common php-mysqlnd -y
Apache 会自动依赖
php模块(mod_php)
创建测试文件:
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
看到 PHP 信息页面即说明整合成功。
相关配置:
/etc/httpd/conf.modules.d/15-php.conf
适合高并发或生产环境。
yum/dnf install php-fpm -y
systemctl start php-fpm
systemctl enable php-fpm
编辑虚拟主机:
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
重启 Apache:
systemctl restart httpd
httpd -M | grep php
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
setsebool -P httpd_execmem 1
| 方式 | 难度 | 性能 | 推荐场景 |
|---|---|---|---|
| mod_php | 低 | 中 | 学习、小站 |
| PHP-FPM | 中 | 高 | 生产环境 |
如果你愿意,可以告诉我:
我可以给你更精确的配置示例。