环境准备与基础配置
在配置PHP虚拟主机前,需确保已安装以下组件:
- Web服务器(Apache或Nginx)
- PHP解释器及对应模块(如libapache2-mod-php或php-fpm)
- 域名解析配置(本地测试可修改hosts文件)
建议通过包管理器安装最新稳定版本。例如在Ubuntu系统中,Apache可通过sudo apt install apache2 php libapache2-mod-php
安装,Nginx则需单独配置PHP-FPM处理器。
Apache虚拟主机配置
Apache的配置流程如下:
- 在
/etc/apache2/sites-available/
创建配置文件(如myphp.conf
) - 添加以下核心配置:
ServerName www.example.com
DocumentRoot /var/www/php_project
AllowOverride All
Require all granted
- 启用配置并重启服务:
sudo a2ensite myphp.conf
sudo systemctl restart apache2
Nginx虚拟主机配置
Nginx的PHP支持需通过FastCGI协议实现:
- 在
/etc/nginx/conf.d/
创建配置文件(如php_host.conf
) - 添加以下server块配置:
server {
listen 80;
server_name example.com;
root /data/php_project;
index index.php;
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
include fastcgi_params;
}
} - 检查配置并重载服务:
sudo nginx -t
sudo systemctl reload nginx
常见问题与验证
- 配置未生效:检查防火墙设置与域名解析,确保80端口开放
- 权限不足:设置网站目录所有者为
www-data
用户,权限设为755 - PHP无法解析:验证FastCGI进程状态(Nginx)或加载php_module(Apache)
<?php
phpinfo;
?>
Apache通过模块化配置实现PHP支持,适合快速部署场景;Nginx需结合PHP-FPM,在高并发场景下性能更优。两种方案均需注意目录权限、服务重启和日志排查等关键环节。