Apache在CentOS上支持PHP的配置步骤
首先确保系统软件包为最新状态,避免兼容性问题:
sudo yum update -y
安装Apache Web服务器(若未安装):
sudo yum install -y httpd
启动Apache并设置开机自启:
sudo systemctl start httpd
sudo systemctl enable httpd
EPEL(Extra Packages for Enterprise Linux)提供额外软件包,Remi仓库包含最新稳定版PHP:
sudo yum install -y epel-release
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm # CentOS 7
# 若为CentOS 8,使用:sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
根据需求选择PHP版本(如PHP 7.4、8.0),替换remi-php74为所需版本:
sudo yum-config-manager --enable remi-php74
安装PHP核心包及数据库、GD图形、XML等常用扩展:
sudo yum install -y php php-cli php-mysqlnd php-gd php-mbstring php-xml php-bcmath
php-cli:命令行PHP工具;php-mysqlnd:MySQL数据库驱动(推荐);php-gd:图像处理扩展;php-mbstring:多字节字符串支持(处理中文等);php-xml:XML解析扩展;php-bcmath:高精度数学计算扩展。编辑Apache主配置文件(/etc/httpd/conf/httpd.conf),检查以下行未被注释(无#前缀):
LoadModule php_module modules/libphp.so
AddHandler php-script .php
AddType application/x-httpd-php .php
LoadModule:加载PHP模块;AddHandler:将.php文件关联到PHP处理器;AddType:设置PHP文件的MIME类型。编辑/etc/httpd/conf/httpd.conf或创建/etc/httpd/conf.d/php.conf,添加以下内容,确保Apache优先显示index.php:
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
应用配置变更:
sudo systemctl restart httpd
在Apache默认文档根目录(/var/www/html)创建info.php测试文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
在浏览器中访问http://your_server_ip/info.php,若看到PHP信息页面(包含版本、模块列表等),则说明配置成功。
若服务器启用了firewalld,允许HTTP(80)和HTTPS(443)流量:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
info.php文件(避免泄露服务器信息);php-fpm与Apache的集成(通过proxy_fcgi模块);sudo yum update更新PHP及扩展,修复安全漏洞。