【问题标题】:Laravel 5 localhost installation not workingLaravel 5 localhost安装不起作用
【发布时间】:2015-03-25 04:39:25
【问题描述】:

我刚刚在 Mac Yosemite 的本地环境中安装了 Laravel 5。我已经在一个目录中设置了 Laravel,然后创建了一个 Apache 虚拟主机来指向该目录。

现在可以通过访问http://myproject.localhost.com成功访问项目的根目录。但是,我没有看到 Laravel 欢迎屏幕。相反,我只看到一个空白的白页,我不知道为什么。

Chrome 在尝试加载域时显示 500 内部服务器错误。如果我尝试直接访问 index.php 文件,也会发生同样的事情:http://myproject.localhost.com/index.php

我想查看 Laravel 错误日志以了解问题所在,但这让我更加困惑,因为 store/logs 目录是空的。

我知道虚拟主机设置是正确的,因为当我将虚拟主机指向另一个不使用 Laravel 的项目时,它可以正常工作。此外,我之前收到来自vendor 目录的权限错误,我已解决。我认为这是欢迎页面正确加载之前需要解决的最后一个问题,但令我惊讶的是,我只看到一个空白屏幕。

以前有人经历过吗?我可以提供更多信息来帮助解决这个问题吗?

这是我的虚拟主机配置:

<VirtualHost *:80>
    ServerAdmin webmaster@slopes.localhost.com
    DocumentRoot "/Users/myusername/dev/slopes/public"
    ServerName slopes.localhost.com
    ErrorLog "/private/var/log/apache2/slopes.localhost.com-error_log"
    CustomLog "/private/var/log/apache2/slopes.localhost.com-access_log" common
    <Directory "/Users/myusername/dev/slopes/public">
         Require all granted
         AllowOverride All
    </Directory>
</VirtualHost>

当我尝试在浏览器中访问 index.php 时,我在 /private/var/log/apache2/slopes.localhost.com-access_log 中看到了请求,并显示了 500 响应。它不会在 /private/var/log/apache2/slopes.localhost.com-error_log 中产生任何条目。

【问题讨论】:

  • 虚拟主机是否指向公共目录?根/公共
  • 您的storage 目录及其下面的所有内容的权限是什么?
  • @watcher 权限为:drwxr-xr-x.
  • @BrianDillingham 是的,它指向公共目录。我什至进入了index.php 文件并添加了一些断点来回显单词test,它一直工作到第51 行。在那一行之后,我得到了500 错误。
  • 为了确保正确的权限,请发布所有者用户和组,以及运行 Apache 的用户 Apache 日志呢? (error.log)

标签: php laravel laravel-5


【解决方案1】:

我只是做了同样的事情(还有优胜美地),这就是我的问题的解决方案,也许它也是你的。 编辑 public/.htaccess,注释以下行:

<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

#<IfModule mod_negotiation.c>
#    Options -MultiViews
#</IfModule>

检查它是否有效。

编辑:检查您的 httpd-vhosts.conf 文件,它看起来像这样吗?

<VirtualHost *:80>
   ServerAdmin you
   ServerName www.myproject.localhost.com
   ServerAlias myproject.localhost.com
   DocumentRoot "/path/to/webfolder/laravel/public"
   ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
   CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
</VirtualHost>

检查您的 ErrorLog,如果没有,请添加它,因为 Apache 抛出了 500,所以一定有一些东西。另外,请仔细检查您是否将根指向 public/ 文件夹

编辑:在聊天 (https://chat.stackoverflow.com/rooms/73694) 之后,@Kyslik 发现是缺少 mcrypt 扩展,并通过 brew 指导了新的 php 和 mcrypt 安装。然后获得storage/ 的许可,它就起作用了。

【讨论】:

猜你喜欢
  • 2018-05-15
  • 2014-04-29
  • 2017-11-28
  • 1970-01-01
  • 2016-04-01
  • 1970-01-01
  • 2016-01-30
  • 1970-01-01
  • 2016-04-08
相关资源
最近更新 更多