首页 > 解决方案 > Laravel 未呈现示例博客,已授予目录权限

问题描述

我正在通过 SSH 连接到的 Arch Linux ARM 上测试 Laravel。

浏览Laravel的文档后 ,我创建了一个新博客。到目前为止,一切都很好。

文档提到以下内容:

安装 Laravel 后,您应该将 Web 服务器的文档/Web 根目录配置为公共目录。该目录中的 index.php 充当所有进入应用程序的 HTTP 请求的前端控制器。

安装 Laravel 后,可能需要配置一些权限。storage 和 bootstrap/cache 目录中的目录应该可以被你的 Web 服务器写入,否则 Laravel 将无法运行。如果您使用的是 Homestead 虚拟机,则应该已经设置了这些权限。

这篇文章说“我的网络服务器可写”意味着它必须可由运行 apache 的用户/组写入。我能够使用 ps -ef | grep httpd | grep -v grep.

用户原来是http。我检查了/etc/group/etc/password并且用户和组以相同的名称存在。所以我改变了bootstrap/cache和storage中的目录的权限

    sudo chown http bootstrap/cache/
    sudo chown -R http storage
    sudo chgrp http bootstrap/cache/
    sudo chgrp -R http storage

并授予http组写入权限,我意识到这是矫枉过正,因为权限是附加的,但我仍然必须尝试。

    sudo chmod g+w bootstrap/cache/
    sudo chmod -R g+w storage/

我已经阅读了很多线程,其中大多数都提到了虚拟主机,所以我想我不妨尝试一下,我浏览了Arch Apache wiki

如果您想拥有多个主机,请取消注释 /etc/httpd/conf/httpd.conf 中的以下行:

包括 conf/extra/httpd-vhosts.conf

要在本地计算机上测试虚拟主机,请将虚拟名称添加到 /etc/hosts 文件中:

127.0.0.1 域名1.dom

    <VirtualHost *:80>
      DocumentRoot "/srv/httpd/blog/public"
      ServerName www.mytest.com
    </VirtualHost>

在我的本地 Ubuntu 计算机上,我<my_Linux_ARM_IP> www.mytest.com/etc/hosts/

因此,每当我在本地计算机上键入www.mytest.com时,我都会得到。

Laravel 不渲染

我更改了 DocumentRoot 以测试一个简单而纯粹的 index.html 文件,它呈现得很好,所以我认为问题出在 Laravel 上。

我能够事先在本地 WAMP 系统上管理所有这些,编写虚拟主机,更改主机文件,以便 localhost 指向虚拟主机。并且博客渲染得很好。

所以不是 Laravel 而是 Apache 和 LAN 连接?我不确定下一步该去哪里。我应该阅读更多 Apache 文档吗?我应该阅读更多 Laravel 文档吗?我应该阅读更多的网络资料吗?如果是这样,有人可以提供一些好的资源吗?

谢谢你。

标签: phplinuxlaravelapache

解决方案


谢谢@langbox。我只是按照这个wiki的步骤,我选择使用libphp,现在它可以正确呈现。


推荐阅读