温馨提示×

apache2怎样部署PHP

小樊
38
2026-07-17 19:29:18
栏目: 编程语言

Apache2 上部署 PHP,通常按下面步骤来做即可(以 Ubuntu / Debian 为例,CentOS / Rocky 也类似)。


一、安装 Apache2

sudo apt update
sudo apt install apache2 -y

启动并设置开机自启:

sudo systemctl start apache2
sudo systemctl enable apache2

浏览器访问服务器 IP,看到 Apache 默认页面即成功。


二、安装 PHP

1️⃣ 安装 PHP(以 PHP 8.1 为例)

sudo apt install php libapache2-mod-php php-cli php-mysql -y

常见扩展按需安装:

sudo apt install php-curl php-gd php-mbstring php-xml php-zip -y

2️⃣ 验证 PHP 是否安装成功

php -v

三、配置 Apache 支持 PHP

一般情况下,libapache2-mod-php 会自动配置好 PHP。

检查 PHP 模块是否启用

ls /etc/apache2/mods-enabled/ | grep php

应看到类似:

php8.1.conf
php8.1.load

如果没有,手动启用:

sudo a2enmod php8.1
sudo systemctl restart apache2

四、测试 PHP

1️⃣ 创建测试文件

sudo nano /var/www/html/info.php

内容:

<?php
phpinfo();

2️⃣ 浏览器访问

http://服务器IP/info.php

能看到 PHP 信息页说明部署成功 ✅

⚠️ 测试完成后建议删除:

sudo rm /var/www/html/info.php

五、部署自己的 PHP 项目

1️⃣ 将项目放到 Web 目录

例如:

/var/www/html/myapp/

2️⃣ 设置权限(很重要)

sudo chown -R www-data:www-data /var/www/html/myapp
sudo chmod -R 755 /var/www/html/myapp

六、常见问题解决

❌ PHP 文件被下载而不是执行

原因:Apache 未加载 PHP 模块
✅ 解决:

sudo a2enmod php8.1
sudo systemctl restart apache2

❌ 403 Forbidden

原因:目录权限或缺少 index.php
✅ 解决:

sudo chmod -R 755 /var/www/html

Apache 配置中允许目录访问。


七、进阶(可选)

指定默认首页

DirectoryIndex index.php index.html

使用虚拟主机(推荐)

sudo nano /etc/apache2/sites-available/myapp.conf
<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/html/myapp

    <Directory /var/www/html/myapp>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

启用:

sudo a2ensite myapp.conf
sudo systemctl reload apache2

如果你用的是 CentOS / Rocky / AlmaLinuxPHP 7.x,或想把 PHP + MySQL + Apache 一起部署,我可以给你对应系统的详细流程。

0