如何在XAMPP(Windows)上设置Apache虚拟主机
如何在XAMPP(Windows)上设置Apache虚拟主机
在Windows上使用Apache创建虚拟主机需要遵循一些步骤。
注意:首先,对于此指南,在XAMPP和WAMP或其他Windows上的Apache软件包之间唯一的区别是关于这些软件包在计算机上安装的位置的问题。
介绍:虚拟主机(vhost)是一个很好的解决方案,如果您打算在PHP中开发许多独立项目,并将它们彼此隔离,例如:
php.localhost
laravel.localhost
codeigniter.localhost
wordpress.localhost
您应该已经安装了最新版本的XAMPP/WAMP。顺便说一句,在我的情况下,我只安装了Apache和MySQL。
*注意:默认情况下,大多数web服务器会使用端口80作为默认端口。在某些情况下,如果您安装了其他web服务器(如Microsoft IIS),它也会使用端口80,或者在其他情况下,SKYPE有时也会像在Windows 8/10的某些用户中那样使用端口80。在这种情况下,您可以做两件事:更改XAMPP/WAMP端口(仅在必要时) 如果保留默认设置,则跳转到设置虚拟主机
步骤1. 编辑httpd.conf文件
单击Config -> Apache (httpd.conf)
或者您可以在以下位置找到该文件:C:\XAMPP\apache\conf\httpd.conf
,C:\XAMPP\apache2\conf\httpd.conf
,C:\Bitnami\wampstack\apache\conf\httpd.conf
或C:\Bitnami\wampstack\apache2\conf\httpd.conf
或类似位置。
更改带有以下内容的行:
Listen 80
使用8080或其他空闲端口。
Listen 8080
当我们打开httpd.conf
文件时,需要确保包含httpd-vhosts.conf
:
Include conf/extra/httpd-vhosts.conf
注意:默认情况下,服务器文档位于
C:\XAMPP\htdocs
或C:\Bitnami\wampstack\apache2\htdocs
,如果您只有一个项目或许多小的测试文件,则可以使用这些位置。但是,如果您需要开发许多项目,则建议通过虚拟主机将它们分开,如前面所述。
第二步:设置虚拟主机
c:\vhost
中创建了一个,您可以将其命名为projects等。c:\vhost
文件夹中,我们创建一个子文件夹domain1或project1或其他任何名称,这取决于您(c:\vhost\project1
)C:\XAMPP\apache\conf\extra\httpd-vhosts.conf
文件,根据您要创建的虚拟主机数量在行上添加以下代码:<Directory C:/vhost>
AllowOverride All
Require all granted
</Directory>
#this is the default address of XAMPP
<VirtualHost *:8080>
DocumentRoot "C:/XAMPP/htdocs/"
ServerName localhost
</VirtualHost>
#this is the first vhost address in XAMPP
<VirtualHost *:8080>
DocumentRoot "C:/vhost/project1/"
ServerName php.localhost
SetEnv NS_ENV variable_value
</VirtualHost>
#this is the second vhost address in XAMPP for project like Laravel
<VirtualHost *:8080>
DocumentRoot "C:/vhost/Laravel-Blog/public"
ServerName laravel.localhost
</VirtualHost>
etc
步骤三. 编辑 Windows Hosts 文件
C:\windows\system32\drivers\etc
的 hosts 文件,需要管理员权限才能编辑该文件。建议使用 Sublime 文本编辑器直接编辑该文件。127.0.0.1 project1.localhost
,保存并关闭文件。127.0.0.1 localhost
127.0.0.1 php.localhost
127.0.0.1 laravel.localhost
127.0.0.1 codeigniter.localhost
127.0.0.1 wordpress.localhost
127.0.0.1 laravel2.localhost
etc. those are just examples
保存文件
最后一步。 重新启动您的Apache和MySQL。
注意:在您的开发过程中,您可能会遇到一个问题,即由于缓存的存在,如果您更新 Laravel 中的某些内容,则它不会在浏览器中显示。因此,在本地环境下的开发过程中,您可能需要禁用 PHP 缓存。
打开 Apache(XAMPP 或 WAMP)文件夹中的 PHP 文件夹下的 php.ini
文件,并将 opcache.enable
更改为 0
,以使其如下所示:
[opcache]
zend_extension=php_opcache.dll
; Determines if Zend OPCache is enabled
opcache.enable=0
加法(替代方案)
重要提示:以下解决方案不适用于测试Restful Api、画布、重型解决方案等,可能会给您带来一些麻烦,因此我建议使用端口80作为默认的虚拟主机解决方案。
可以部署一个临时虚拟服务器,而无需配置XAMPP/WAMP虚拟主机,启动CMD控制台,并运行以下PHP命令:
php -S localhost:8001 -t c:\vhost\Laravel-Project\public
c:\vhost\Laravel...
路径应更改为您的项目路径。在您的浏览器中,您只需要编写
http://localhost:8001/
关于 403 访问被禁止错误的说明
如果您在浏览您的网站时遇到了 403 访问被禁止的错误,您可能需要将以下内容添加到您的 httpd.conf 文件中:
<Directory path_to_dir>
AllowOverride none
Require all granted
</Directory>
http://local.xyz.com
指向http://localhost:8001/xyz/public
? - George注意:您需要以管理员身份运行编辑器(例如记事本),否则无法保存这些文件。好了。
system32
文件夹,然后搜索drivers
文件夹,再搜索etc
文件夹。*.txt
)。将视图更改为所有文件
,然后您将看到vhost
文件。