温馨提示×

怎样让Apache2支持PHP7

小樊
46
2025-10-06 12:04:53
栏目: 编程语言

1. 安装Apache2(若未安装)
在Debian/Ubuntu系统上,运行以下命令安装Apache2:
sudo apt-get update && sudo apt-get install apache2
在CentOS/RHEL系统上,运行:
sudo yum install httpd(安装后启动服务:sudo systemctl start httpd)。

2. 安装PHP7及常用模块

  • Debian/Ubuntu:选择所需PHP7版本(如7.4),安装PHP核心、Apache模块及常用扩展:
    sudo apt-get install php7.4 libapache2-mod-php7.4 php7.4-mysql php7.4-curl php7.4-xml php7.4-gd php7.4-mbstring
  • CentOS/RHEL:需先启用EPEL和Remi仓库(以PHP 7.4为例),再安装:
    sudo yum install epel-release
    sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
    sudo yum-config-manager --enable remi-php74
    sudo yum install php php-mysqlnd php-curl php-xml php-gd php-mbstring
    

    注:若需其他PHP版本(如7.3),将remi-php74替换为对应版本(如remi-php73)。

3. 启用Apache的mod_php模块

  • Debian/Ubuntu:使用a2enmod命令启用mod_php(对应安装的PHP版本):
    sudo a2enmod php7.4
  • CentOS/RHEL:mod_php通常默认启用;若未启用,需确保php包已安装(默认包含mod_php)。

4. 配置Apache虚拟主机解析PHP文件
编辑默认虚拟主机配置文件(Debian/Ubuntu路径为/etc/apache2/sites-available/000-default.conf,CentOS/RHEL为/etc/httpd/conf/httpd.conf),在<VirtualHost *:80>部分添加以下内容:

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
AddType application/x-httpd-php .php
AddHandler application/x-httpd-php .php
  • 说明Directory块设置网站根目录权限(/var/www/html为默认根目录,可自定义);AddTypeAddHandler指令让Apache识别.php文件并通过PHP解析器处理。

5. 重启Apache2服务

  • Debian/Ubuntusudo systemctl restart apache2
  • CentOS/RHELsudo systemctl restart httpd
    重启后,Apache将加载mod_php模块并应用新的配置。

6. 测试PHP7支持
在网站根目录(如/var/www/html)创建info.php文件,内容如下:

<?php phpinfo(); ?>

保存后,在浏览器中访问http://your_server_ip/info.php。若看到PHP信息页面(显示版本为7.x),则配置成功。测试完成后,务必删除info.php以避免安全风险

常见问题排查

  • 若无法访问info.php,检查Apache是否监听80端口(sudo netstat -tulnp | grep apache2)及防火墙是否放行(sudo ufw allow 80)。
  • 若PHP页面显示空白,查看Apache错误日志(/var/log/apache2/error.log/var/log/httpd/error_log)定位问题。

0