在 Ubuntu 上配置 Apache2 + PHP 环境,一般按下面步骤来即可(以 Ubuntu 20.04 / 22.04 为例,PHP 以 PHP 8.1 为例,可按需更换版本)。
sudo apt update
sudo apt upgrade -y
sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2
浏览器访问:
http://服务器IP
看到 Apache2 Ubuntu Default Page 即成功。
sudo apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath -y
如果你用的是 PHP 8.2 / 8.3,把
php换成php8.2/php8.3即可。
Ubuntu 默认 Apache 会自动加载 PHP 模块(使用 mpm_prefork + mod_php)。
ls /etc/apache2/mods-enabled/ | grep php
如果没看到,可手动启用:
sudo apt install libapache2-mod-php
sudo a2enmod php8.1
sudo systemctl restart apache2
sudo nano /var/www/html/info.php
内容:
<?php
phpinfo();
http://服务器IP/info.php
✅ 能看到 PHP 信息页面说明配置成功。
⚠️ 测试完成后建议删除
sudo rm /var/www/html/info.php
默认目录:
/var/www/html
如需新建站点:
sudo mkdir -p /var/www/example.com
sudo chown -R www-data:www-data /var/www/example.com
sudo nano /etc/apache2/sites-available/example.com.conf
示例配置:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/example.com
<Directory /var/www/example.com>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
启用:
sudo a2ensite example.com.conf
sudo systemctl reload apache2
sudo a2enmod php8.1
sudo systemctl restart apache2
sudo systemctl restart apache2
php -v
<?php
$conn = new mysqli("localhost", "user", "password", "dbname");
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "数据库连接成功";
如果你需要:
可以直接告诉我你的 Ubuntu 版本 + PHP 版本 + 使用场景,我可以给你更精确的配置方案。