在 Apache2 上部署 PHP,通常按下面步骤来做即可(以 Ubuntu / Debian 为例,CentOS / Rocky 也类似)。
sudo apt update
sudo apt install apache2 -y
启动并设置开机自启:
sudo systemctl start apache2
sudo systemctl enable apache2
浏览器访问服务器 IP,看到 Apache 默认页面即成功。
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
php -v
一般情况下,libapache2-mod-php 会自动配置好 PHP。
ls /etc/apache2/mods-enabled/ | grep php
应看到类似:
php8.1.conf
php8.1.load
如果没有,手动启用:
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/myapp/
sudo chown -R www-data:www-data /var/www/html/myapp
sudo chmod -R 755 /var/www/html/myapp
原因:Apache 未加载 PHP 模块
✅ 解决:
sudo a2enmod php8.1
sudo systemctl restart apache2
原因:目录权限或缺少 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 / AlmaLinux、PHP 7.x,或想把 PHP + MySQL + Apache 一起部署,我可以给你对应系统的详细流程。