Xampp for Laravel 上的虚拟主机不工作

Posted

技术标签:

【中文标题】Xampp for Laravel 上的虚拟主机不工作【英文标题】:Virtual Host on Xampp for Laravel is not working 【发布时间】:2018-02-18 02:45:41 【问题描述】:

您好,我正在学习 Laravel 并尝试修改我的 xampp 服务器的 vhost 文件以用于 laravel 练习项目,但它不起作用。 vhost 文件的代码是

<VirtualHost *:80>
    DocumentRoot "D:/xampp/htdocs/laravel5Prc/public"
    ServerAdmin admin@localhost
    ServerName laravel5.prc
    ServerAlias laravel5.prc

    <Directory "D:/xampp/htdocs/laravel5Prc/public">
       AllowOverride All
       Options Indexes FollowSymLinks

       Require local
       # if you want access from other pc's on your local network
       #Require ip 192.168.1.121
       # Only if you want the world to see your site
       #Require all granted
    </Directory>
</VirtualHost>

我已从该网址获取此代码 How to enable Virtual Host on Xampp for Laravel?

它对我不起作用,请任何人指导我我做错了什么?

【问题讨论】:

您是否尝试过重启 Apache 服务?你遇到了什么错误?请在终端中运行 apache -Sapache -t 或发布错误日志。 是的,我多次重新启动服务器,当我在谷歌浏览器中运行 laravel5.prc 时出现此错误**This site can’t be reached** _laravel5.prc_server DNS address could not be found. Try running Windows Network Diagnostics. DNS_PROBE_FINISHED_NXDOMAIN 尝试在 Windows 主机文件中将 laravel5.prc 映射到 127.0.0.1。然后,在终端中输入ipconfig /flushdns 我试过了,现在它至少可以工作,但laravel5.prc 正在重定向到laravel5.prc/dashboard/ 现在一切正常,感谢您宝贵的时间和指导。非常感谢您的帮助.. 【参考方案1】:

我强烈建议你使用 Laravel 的名为 Homestead 的 vagrant box 而不是 xampp,这真的很棒!你可以阅读它here。它比其他任何东西都更灵活、更容易理解。

【讨论】:

【参考方案2】:

我使用的是 php-7.3.2 并且遇到了类似的问题。这不是问题的解决方案,而是替代方案。我回到 php-7.1.25 并再次运行。我还是会看看7.3版和laravel有什么问题,但也许这会帮助一些来到这里遇到同样问题的人。

【讨论】:

【参考方案3】:

这是你应该做的,在下面的 xampp vhost 文件顶部添加或取消注释

NameVirtualHost *:80

将此更改为您的有效假定域并添加目录索引

ServerName laravel5.test
ServerAlias laravel5.test
DirectoryIndex index.php

然后转到 Windows 中的此文件夹 C:\Windows\System32\drivers\etc\hosts 并添加您选择的域,例如,请参见下文

127.0.0.2      laravel5.test
127.0.0.3      anotherdomain.test

**** 请注意不要使用默认创建的 localhost 或 127.0.0.1 来设置您的 你应该创建你自己的,例如(127.0.0.2, 127.0.0.3, 127.0.0.4) 按此顺序

然后重启你的xampp服务器你应该很好去

**** 我注意到您的文档和目录有这个“D:/xampp/htdocs/laravel5Prc/public” 将 D 更改为 C,我建议您的 laravel 项目应该在 xampp 文件夹之外,您可以使用 Document 文件夹。

【讨论】:

【参考方案4】:
//Open C:\Windows\System32\drivers\etc\hosts
127.0.0.1  laravel5.prc

//Open xampp/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
  ServerAdmin webmaster@dummy-host2.example.com
  DocumentRoot "C:/xampp/htdocs/laravel5Prc/public"
  ServerName laravel5.prc
  ErrorLog "logs/dummy-host2.example.com-error.log"
  CustomLog "logs/d`enter code here`ummy-host2.example.com-access.log" common
</VirtualHost>

【讨论】:

【参考方案5】:

为什么你不使用 php artisan serve 在 localhost 上运行 laravel。

来自https://laravel.com/docs/5.4/

【讨论】:

因为我不想每次重新启动服务器时都运行php artisan serve 命令。并输入 IP,而不仅仅是输入我练习的简短易懂的 URL。当我运行php artisan make:auth 时,Rout 也存在一些问题,因此有人还建议覆盖该问题,尝试使用 vhost 访问。检查 Auth 的 url https://***.com/questions/46050068/notfoundhttpexception-in-routecollection-php-line-179-in-laravel-5-4

以上是关于Xampp for Laravel 上的虚拟主机不工作的主要内容,如果未能解决你的问题,请参考以下文章

XAMPP中的虚拟主机问题,基于Laravel的项目

Xampp 本地主机不工作

本地主机 xampp 上的 500 内部服务器错误

使用虚拟主机 XAMPP 查看路由 Laravel 时出错

使用 laravel 框架时如何在 xampp 上创建虚拟主机

使用带有端口 8003 的 Xampp 为 Laravel 创建虚拟主机