在 MAMP 上使用虚拟主机映射 Laravel 公用文件夹时遇到问题

Posted

技术标签:

【中文标题】在 MAMP 上使用虚拟主机映射 Laravel 公用文件夹时遇到问题【英文标题】:Having trouble mapping Laravel public folder with a vhost on MAMP 【发布时间】:2019-02-11 10:45:29 【问题描述】:

我有一个名为“test”的 Laravel 项目在我的 Mac 上的 MAMP 上运行。我已取消注释 httpd.conf 中的 vhosts 包含行,并将其包含在 vhosts 文件中:

<VirtualHost *:80>
    DocumentRoot "/Applications/MAMP/htdocs"
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/Applications/MAMP/htdocs/test/public"
    ServerName testapp.dev
</VirtualHost>

当我在浏览器中转到“testapp.dev”时,它只会显示旧的

testapp.dev’s server IP address could not be found.
DNS_PROBE_FINISHED_NXDOMAIN

我不确定我是否错过了什么或什么。在此先感谢您的帮助! :)

(这是一个转贴,但更清楚)

【问题讨论】:

我不知道mac,但你是否也在hosts中添加了127.0.0.1 testapp.dev 如果你用的是mac,为什么不安装代客呢? @Polaris 我用composer安装了它,但它说代客不是我终端中的命令。 您需要关注instructions 确保~/.composer/vendor/bin 目录位于系统的“PATH”中。。使用 .test 而不是 .dev 并放弃 MAMP 并安装 Valet。 .dev 归 Google 所有。 我安装了代客,我正在使用 .test。我尝试链接停车场,但 test.test 只返回“它有效!”。我在 htdocs 的 laravel 项目中做到了这一点。如果我使用代客服务,我不需要 MAMP 吗? 【参考方案1】:

所以我放弃了 MAMP 并使用代客服务。我只是去 localhost 时遇到了一些问题,这是一些随机的后台 apache 服务器,我停止了它,然后一切正常! :)

【讨论】:

【参考方案2】:

如果您使用的是 windows 编辑 C:\windows\system32\drivers\etc\hosts 并且如果您使用的是 unix 编辑 /etc/hosts 文件并在文件末尾添加此行:

127.0.0.1 testapp.dev

【讨论】:

我在 Mac 上,如第一句所述。我的 MAMP 目录中没有 etc 文件夹,但我在 MAMP 目录中的 /Library/etc 中有一个。然而,那个 etc 文件夹没有主机文件,它只有一个名为“ImageMagick-6”的文件夹。还有什么地方可以吗?是的,我已启用查看隐藏文件。 @Techmo 转到终端并输入 nano /etc/hosts - 你肯定拥有它。我建议阅读有关安装 Valet (laravel.com/docs/5.6/valet) 的信息。它使在 Mac 上本地托管 laravel 和其他东西变得轻而易举。 @Techmo 打开查找器,然后按cmd+shif+G,然后写/etc/hosts。现在用 sublime 打开 hosts 文件并在文件末尾添加该行 @MariusEngenHaugen 我对文件进行了纳米化并添加了该行,但现在它说 testapp.dev 拒绝连接。在文件的顶部有相同的行,但使用 localhost 而不是 testapp.dev。另外,我用composer安装了代客,但是当我在终端中运行它的命令时,它说代客不存在。 @Techmo 您是否已将“~/.composer/vendor/bin”添加到您的 $PATH 中?

以上是关于在 MAMP 上使用虚拟主机映射 Laravel 公用文件夹时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

使用MAMP在OSX上安装Laravel 5.1

在 MAMP 中使用 Laravel 设置 PostgreSQL

Laravel 在 MAMP 上每次创建新视图时,我都必须将存储/视图 CHMOD 到 777,然后是 775

虚拟主机无法在 MAMP 上运行

没有 MAMP 的 Mac 上虚拟主机上的 CodeIgniter 站点

在 mamp 免费版上使用 nginx 设置 vhost