温馨提示×

Debian PHP与Apache怎么配

小樊
45
2026-07-17 10:02:55
栏目: 编程语言

下面给你一套在 Debian 系统上配置 Apache + PHP 的完整常见做法(适用于 Debian 11/12,其他版本也基本一样)。


一、安装 Apache 和 PHP(以 PHP 8.2 为例)

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 Apache

sudo apt install apache2 -y

启动并设置开机自启:

sudo systemctl enable apache2
sudo systemctl start apache2

浏览器访问:

http://服务器IP

看到 Apache 默认页即成功。


3. 安装 PHP 及 Apache 模块

sudo apt install php libapache2-mod-php -y

如果你需要指定版本(例如 PHP 8.2):

sudo apt install php8.2 libapache2-mod-php8.2 -y

二、测试 PHP 是否生效

1. 创建测试文件

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

内容:

<?php
phpinfo();

保存后访问:

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

✅ 能看到 PHP 信息页面说明配置成功。


三、Apache 中 PHP 的常见配置

1. 修改 PHP 配置(可选)

sudo nano /etc/php/8.2/apache2/php.ini

常见修改项:

upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
date.timezone = Asia/Shanghai

修改后重启 Apache:

sudo systemctl restart apache2

2. Apache 目录结构(了解)

  • 网站根目录:/var/www/html
  • 虚拟主机配置:/etc/apache2/sites-available/
  • 启用站点:a2ensite
  • 模块开关:a2enmod / a2dismod

四、配置虚拟主机(推荐)

1. 新建配置文件

sudo nano /etc/apache2/sites-available/example.conf

示例:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example

    <Directory /var/www/example>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

2. 创建目录并启用

sudo mkdir -p /var/www/example
sudo a2ensite example.conf
sudo systemctl reload apache2

五、开启 URL 重写(常见需求)

sudo a2enmod rewrite
sudo systemctl restart apache2

并在虚拟主机中确认:

AllowOverride All

六、常见排错

1. PHP 页面直接下载而不是解析

✅ 检查:

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

没有则:

sudo a2enmod php8.2
sudo systemctl restart apache2

2. 403 Forbidden

  • 目录权限
  • Directory 配置
  • AllowOverride 未开启

七、升级或切换 PHP 版本(可选)

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php  # 非官方,但常用
sudo apt update
sudo apt install php8.3 libapache2-mod-php8.3

切换:

sudo a2dismod php8.2
sudo a2enmod php8.3
sudo systemctl restart apache2

八、安全建议(生产环境)

  • 删除 info.php
  • 禁止 Apache 目录浏览
  • 使用 HTTPS(Let’s Encrypt)
  • 不要给 /var/www 777 权限

如果你愿意,我可以:

  • ✅ 给你 Debian + Apache + PHP + MySQL 完整 LNMP 风格安装
  • ✅ 针对 WordPress / Laravel / ThinkPHP 单独配置
  • ✅ 帮你排查你当前报错

你现在用的是 Debian 几?PHP 需要哪个版本?

0