Dim*_*off 38 apache xampp wamp
这个标签在哪里?
我在哪里可以找到vhosts文件?
我在文档中找不到它.
<VirtualHost hostname:80>
...
SetEnv NS_ENV variable_value
...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
may*_*ʎɐɯ 96
注意:首先,XAMPP和WAMP或Windows的其他Apache软件包之间的唯一区别是,问题是计算机上安装这些软件包的位置.
简介: vhost(虚拟主机)是一个很好的解决方案,如果您打算在php中开发许多独立项目并使它们彼此隔离,例如:
php.localhostlaravel.localhostcodeigniter.locathostwordpress.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
点击配置- >阿帕奇(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
Run Code Online (Sandbox Code Playgroud)
到8080或其他,免费端口.
Listen 8080
Run Code Online (Sandbox Code Playgroud)
虽然我们有httpd.conf文件打开,但我们需要确保httpd-vhosts.conf包括:Includeconf/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
Run Code Online (Sandbox Code Playgroud)
注:如果您在Laravel工程项目,你可以创造出无限的Laravel项目,以及其他框架一样笨,Yii的,等等,关键是让你的Laravel项目/ s的
c:\vhost\laravel1,c:\vhost\laravel2等等,使c:\vhost\laravel1\public作为DocumentRoot的等像以前表现.每个Laravel项目都有自己的VirtualHost URL.
保存并关闭文件
一些额外的信息和说明:
localhost<VirtualHost *:80>8080,则URL地址将为localhost:8080project1.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
Run Code Online (Sandbox Code Playgroud)
保存文件
最后一步. 再次启动/重新启动Apache和MySQL.
注意:在您的开发过程中,您可能会遇到缓存问题,因为您可能会冒险更新Laravel中的某些内容并且它不会出现在您的浏览器中.因此,您可能需要在本地环境中的开发过程中禁用php缓存.
php.ini在Apache(XAMPP或WAMP)文件夹中的php文件夹下打开文件并更改opcache.enable为0如下所示:
[opcache]
zend_extension=php_opcache.dll
; Determines if Zend OPCache is enabled
opcache.enable=0
Run Code Online (Sandbox Code Playgroud)
增加(替代解决方案)
重要提示:以下解决方案不适合测试Restful Api,canvas,重型解决方案等.这可能会给您带来一些麻烦,我建议使用默认端口80的虚拟主机解决方案.
可以部署临时虚拟服务器,而无需配置XAMPP/WAMP虚拟主机,启动CMD控制台并运行以下php命令:
php -S localhost:8001 -t c:\vhost\Laravel-Project\public
Run Code Online (Sandbox Code Playgroud)
c:\vhost\Laravel... 路径应该更改为您的项目路径.在您的浏览器中,您只需要正确
http://localhost:8001/
Run Code Online (Sandbox Code Playgroud)
关于403 Access forbidden错误的注意事项
如果在浏览到站点时出现403 Access forbidden错误,则可能需要将其添加到httpd.conf文件中:
<Directory path_to_dir>
AllowOverride none
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)