这个标签在哪里?
我在哪里可以找到vhosts文件?
我无法在文档中找到它。
<VirtualHost hostname:80>
...
SetEnv NS_ENV variable_value
...
</VirtualHost>
答案 0 :(得分:91)
注意:首先,XAMPP和WAMP或Windows的其他Apache软件包之间的唯一区别是,问题是计算机上安装了这些软件包的位置。
简介: vhost(虚拟主机)是一个很好的解决方案,如果您打算在php中开发许多独立项目并让它们彼此隔离,例如:
php.localhost
laravel.localhost
codeigniter.locathost
wordpress.locathost
您需要安装最新版本的XAMPP / WAMP。顺便说一句,就我而言,我只安装了Apache和MySQL。
*注意:默认情况下,大多数Web服务器将使用端口80作为默认端口,在某些情况下,如果您安装了另一个Web服务器(Microsoft IIS),它也使用端口80在其他情况下,SKYPE也有时会使用端口80,就像Windows 8/10中某些用户的情况一样,在这种情况下你可以做两件事
8080
,8081
等或其他一些空闲端口(注意:8080有时也会出现问题)我选择将我的Apache更改为端口8080 。
注意:
- 对于下一节,我们需要使用文本编辑器,如记事本或常规IDE。我使用了崇高的文本编辑器 - 如果将Apache保留为默认端口80,请跳过此部分并转到虚拟主机
更改XAMPP / WAMP端口(仅在必要时) 如果保留默认值,则跳转到设置虚拟主机
步骤1.编辑httpd.conf
点击配置 - &gt; 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
:
包括conf/extra/httpd-vhosts.conf
注意:默认情况下,服务器文档位于
C:\XAMPP\htdocs
或C:\Bitnami\wampstack\apache2\htdocs
,如果您只有一个项目或许多小型测试文件,那就没问题。但是,如果您需要开发许多项目,那么建议通过虚拟主机将它们分开,如前所述。
步骤2.设置虚拟主机
c:\vhost
中创建了一个,你可以称之为项目等。c:\vhost
文件夹中,我们创建了一个子文件夹domain1或project1或任何其他文件夹,由您自己决定(c:\vhost\project1
)httpd-vhosts.conf
文件C:\XAMPP\apache\conf\extra\httpd-vhosts.conf
根据您要创建的vhost数量,添加以下代码:<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
注意:如果您使用Laravel项目,您可以创建无限的Laravel项目以及其他框架,如codeigniter,Yii等,重点是 将您的Laravel项目放在
c:\vhost\laravel1
上,c:\vhost\laravel2
等,并c:\vhost\laravel1\public
为。{ DocumentRoot等如前所示。每个Laravel项目都有自己的 VirtualHost URL。
保存并关闭文件
一些其他信息和说明:
localhost
<VirtualHost *:80>
8080
,则网址将为localhost:8080
project1.localhost:8080
等我们尚未准备好,请阅读更多内容。
步骤3.编辑Windows主机文件
C:\windows\system32\drivers\etc
中打开主机文件
您需要管理员权限才能编辑该文件。
我建议直接使用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,canvas,重型解决方案等等。这可能会给您带来一些麻烦,我建议使用默认端口80的虚拟主机解决方案。< / p>
可以部署临时虚拟服务器,而无需配置XAMPP / WAMP虚拟主机,启动CMD控制台并运行以下php命令:
php -S localhost:8001 -t c:\vhost\Laravel-Project\public
c:\vhost\Laravel...
路径应该更改为您的项目路径。在浏览器中,您只需要正确
http://localhost:8001/
请注意403访问禁止错误
如果浏览到站点时出现403 Access forbidden错误,则可能需要将其添加到httpd.conf文件中:
<Directory path_to_dir>
AllowOverride none
Require all granted
</Directory>
答案 1 :(得分:1)
您可以使本地主机指向不同端口号上的不同文件夹。请按照以下简单步骤操作:
第1步:让您的apache收听多个端口。转到C:\ xampp \ apache \ conf \ httpd.conf并搜索关键词Listen你可以看到类似这样的内容听80.现在告诉你的apache听多个端口,用下面的内容替换它
第2步:现在转到“C:\ xampp \ apache \ conf \ extra \ _ httpd-vhosts.conf”,这是实际播放器。在文件的末尾,您可以指定以下内容:
DocumentRoot“C:/ xampp / htdocs / project1” ServerName localhost:8001
DocumentRoot“C:/ xampp / htdocs / project2” ServerName localhost:8002
告诉你的apache在点击不同的端口号时采用不同的文件夹。那是当你点击localhost:8001 /它将从project1获取内容,类似localhost:8002 /将指向你的project2文件夹。
通过这样做,我们在本地机器上运行2个不同的站点。
注意: 无论何时在httpd.conf或httpd-vhosts.conf中更改内容,都需要重新启动Apache。
答案 2 :(得分:0)
首先,以管理员身份打开记事本
然后点击file > open
。然后转到您的窗口驱动程序,现在搜索system32
文件夹,然后搜索drivers
文件夹,然后搜索etc
文件夹。
现在您将看到一个空文件夹,所以不要担心在底部看到文本文档(*.txt
)。将视图更改为all files
,然后您将看到vhost
文件。
打开并享受!
答案 3 :(得分:0)
虚拟主机创建
N.B。首先打开您的编辑器(记事本等....)作为运行管理员模式,否则您无法保存这些文件。确定。