当前位置:首页 > 云服务器 > 正文

php虚拟主机怎么设置?虚拟域名配置教程

在 PHP 开发中配置虚拟域名(Virtual Host)主要涉及 修改本地 hosts 文件配置 Web 服务器(如 Apache 或 Nginx),以下是详细步骤:


修改本地 hosts 文件

将自定义域名指向本地 IP(0.0.1):

  • Windows

    路径:C:WindowsSystem32driversetchosts

    添加:

    0.0.1 myproject.local
  • Mac/Linux

    路径:/etc/hosts

    终端执行:

    sudo nano /etc/hosts

    添加:

    0.0.1 myproject.local


配置 Web 服务器

方案 1:Apache 配置(推荐使用 XAMPP/WAMP)

  1. 打开虚拟主机配置文件

    • XAMPP:/xampp/apache/conf/extra/httpd-vhosts.conf
    • WAMP:右击系统托盘图标 → Apache → httpd-vhosts.conf
  2. 添加虚拟主机配置

  3. 重启 Apache 服务

    通过 XAMPP/WAMP 控制面板重启 Apache。

  4. 方案 2:Nginx 配置(如使用 Laragon 或原生 Nginx)

    1. 打开 Nginx 配置文件

      路径:/etc/nginx/sites-available/myproject.conf(或 Laragon 的 ~/laragon/etc/nginx/sites-enabled/)

    2. 添加虚拟主机配置

      server { listen 80; server_name myproject.local; root "C:/laragon/www/myproject/public"; # 替换为项目路径 index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass 127.0.0.1:9000; # PHP-FPM 地址 fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
    3. 重启 Nginx

      nginx -s reload # 或通过 Laragon 界面重启

    4. 验证配置

      1. 在浏览器访问:http://myproject.local
      2. 如果显示项目页面,则配置成功!


      常见问题解决

      1. 403 Forbidden 错误

        • 检查项目目录权限(确保 Apache/Nginx 有读取权限)。
        • 确认 <Directory> 或 root 路径正确。
      2. 域名无法解析

        • 检查 hosts 文件是否保存(需管理员权限)。
        • 刷新 DNS 缓存:

          Windows:ipconfig /flushdns

          Mac/Linux:sudo killall -HUP mDNSResponder

      3. PHP 文件不解析

        • Apache:确保 httpd.conf 中已加载 PHP 模块: LoadModule php_module "C:/xampp/php/php8apache2_4.dll" AddHandler application/x-httpd-php .php
        • Nginx:检查 fastcgi_pass 地址是否与 PHP-FPM 端口一致。


      额外提示

      • 快速工具:使用 Laragon(Windows)或 Valet(Mac)可自动配置虚拟域名。
      • HTTPS 支持:使用 mkcert 生成本地 SSL 证书并配置服务器启用 https://。

      按照以上步骤操作,即可轻松为 PHP 项目配置虚拟域名!

      php虚拟主机怎么设置?虚拟域名配置教程 第1张

      php虚拟主机怎么设置?虚拟域名配置教程 第2张

      php虚拟主机怎么设置?虚拟域名配置教程 第3张

0