下面分 两种常见场景 说明 Apache 在 CentOS 上配置 PHP 的方法,你可以按自己系统版本选择。
sudo yum install -y httpd
sudo systemctl start httpd
sudo systemctl enable httpd
验证:
systemctl status httpd
sudo yum install -y epel-release
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install -y yum-utils
sudo yum-config-manager --enable remi-php74
sudo yum install -y php php-cli php-fpm php-mysqlnd php-json php-xml php-mbstring php-gd php-curl
sudo yum install -y php
Apache 会自动加载 PHP 模块。
重启 Apache:
sudo systemctl restart httpd
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
编辑配置文件:
sudo vi /etc/httpd/conf.d/php.conf
确保包含:
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
重启服务:
sudo systemctl restart httpd
sudo systemctl restart php-fpm
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
✅ 能看到 PHP 信息页面即成功。
sudo dnf install -y httpd
sudo systemctl enable --now httpd
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-json php-xml php-mbstring
sudo systemctl enable --now php-fpm
编辑 Apache 配置:
sudo vi /etc/httpd/conf.d/php.conf
添加:
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
重启:
sudo systemctl restart httpd php-fpm
SetHandler 配置错误或缺失sudo chown -R apache:apache /var/www/html
sudo chmod -R 755 /var/www/html
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
| 场景 | 推荐方案 |
|---|---|
| 学习 / 测试 | Apache + mod_php |
| 生产环境 | Apache + PHP-FPM |
| CentOS 7 | Remi PHP |
| CentOS 8+ | AppStream / Remi |
如果你愿意,可以告诉我:
我可以给你 一条最合适、最精简的配置方案。