下面给你一套在 Debian 系统上配置 Apache + PHP 的完整常见做法(适用于 Debian 11/12,其他版本也基本一样)。
sudo apt update
sudo apt upgrade -y
sudo apt install apache2 -y
启动并设置开机自启:
sudo systemctl enable apache2
sudo systemctl start apache2
浏览器访问:
http://服务器IP
看到 Apache 默认页即成功。
sudo apt install php libapache2-mod-php -y
如果你需要指定版本(例如 PHP 8.2):
sudo apt install php8.2 libapache2-mod-php8.2 -y
sudo nano /var/www/html/info.php
内容:
<?php
phpinfo();
保存后访问:
http://服务器IP/info.php
✅ 能看到 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
/var/www/html/etc/apache2/sites-available/a2ensitea2enmod / a2dismodsudo 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>
sudo mkdir -p /var/www/example
sudo a2ensite example.conf
sudo systemctl reload apache2
sudo a2enmod rewrite
sudo systemctl restart apache2
并在虚拟主机中确认:
AllowOverride All
✅ 检查:
ls /etc/apache2/mods-enabled | grep php
没有则:
sudo a2enmod php8.2
sudo systemctl restart apache2
Directory 配置AllowOverride 未开启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/var/www 777 权限如果你愿意,我可以:
你现在用的是 Debian 几?PHP 需要哪个版本?