在 CentOS 上把 PHP 与 Apache(httpd) 整合,通常有两种主流方式:
下面分别说明(以 CentOS 7 / 8 为例,PHP 7.x)。
sudo yum install httpd php php-cli php-common
CentOS 8 用:
sudo dnf install httpd php php-cli
sudo systemctl start httpd
sudo systemctl enable httpd
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
看到 PHP 信息页即成功。
⚠️ CentOS 8 默认不再提供 mod_php,需用 PHP-FPM 方式
sudo yum install httpd php php-fpm
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl start httpd
sudo systemctl enable httpd
编辑 Apache 配置:
sudo vi /etc/httpd/conf.d/php.conf
内容示例(CentOS 7):
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
或(socket 方式,CentOS 8):
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
</FilesMatch>
sudo systemctl restart httpd
说明 Apache 没识别 PHP
✅ 检查是否安装 php
✅ 是否加载 mod_php 或 php-fpm 配置
sudo chown -R apache:apache /var/www/html
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
| 场景 | 建议 |
|---|---|
| 学习 / 内部测试 | mod_php |
| 生产环境 | PHP-FPM |
| 高并发 | PHP-FPM |
如果你告诉我:
我可以给你精确命令。