首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5.4 -安装后出现错误

Laravel 5.4 -安装后出现错误
EN

Stack Overflow用户
提问于 2017-04-06 21:26:40
回答 3查看 822关注 0票数 1

昨天我安装了一个新的带有Apache、MySQL和PHP7.0.17的CentOS 7虚拟机。

在那之后,我安装了composer和所有其他必需的php包。

然后我按照这个指南安装了萤火虫-3:https://firefly-iii.github.io/using-installing.html

到目前一切尚好。数据库是通过php artisan migrate命令迁移和播种的。

现在的问题是,当我试图从浏览器访问应用程序时,出现了一个500错误。没有日志规则,什么都没有。

好吧,这可能是一个权限问题。我已将所有者更改为apache:apache,无结果。将存储和引导/缓存文件夹设置为777无结果。

好吧..。现在怎么办。啊,可能是用户或用户组不正确。我复制了public/index.php并内置了一些try catch语句(仍然没有日志)。

当我在浏览器中打开应用程序时,最终返回了一些结果。

这个try/catch:

代码语言:javascript
复制
try {
        $response = $kernel->handle(
            $request = Illuminate\Http\Request::capture()
        );
} catch (Exception $e){
        echo $e->getMessage();
        echo '<br/>';
        echo 'User: '.exec('whoami');
        echo '<br/>';
        echo 'Group: '.exec('groups');
        echo '<br/>';
}

返回以下结果:

代码语言:javascript
复制
The stream or file "/var/www/html/application-folder/storage/logs/application-name-2017-04-06.log" could not be opened: failed to open stream: Permission denied
User: apache
Group: apache

在此消息之后,我已经创建了/var/www/html/application-folder/storage/logs/application-name-2017-04-06.log文件,并将权限更改为777。

下面是我狂欢的一小段历史:

代码语言:javascript
复制
[user@16 logs]$ sudo chmod 777 firefly-iii-2017-04-06.log
[sudo] password for user:
[user@16 logs]$ ls -l
-rwxrwxrwx+ 1 apache apache 5 Apr  6 14:18 firefly-iii-2017-04-06.log
[user@16 logs]$ chmod 777 firefly-iii-2017-04-06.log
chmod: changing permissions of ‘firefly-iii-2017-04-06.log’: Operation not permitted

此错误消息仍在返回,目前我不知道还可以尝试解决此问题。

有没有人知道解决方案,或者是否有人预料到了这种奇怪的行为?

请帮帮我,我现在完全被困住了,不知道现在该做什么,也不知道如何解决这个问题。

EN

回答 3

Stack Overflow用户

发布于 2017-04-07 15:19:57

经过昨天的搜索,我找到了这个答案:https://stackoverflow.com/a/37258323/1805919

我已经在我自己的服务器上尝试过了,现在可以通过浏览器访问该应用程序。

通过使用以下命令关闭selinux

证明这就是问题所在

设置强制执行0

这应该允许写入,但是您已经在服务器范围内关闭了增加的安全性。那可不好。将SELinux转回

设置强制1

然后,最后使用SELinux通过以下命令来允许写入文件

chcon -R -t httpd_sys_rw_content_t存储

你可以走了!

票数 1
EN

Stack Overflow用户

发布于 2017-04-06 21:47:25

首先,您的服务器必须在应用程序路径的所有者组中。

其次,您必须设置对存储文件夹的权限。下面是一个在*nix系统上设置权限的示例:

代码语言:javascript
复制
sudo chmod -R ug+rwx storage bootstrap/cache
票数 0
EN

Stack Overflow用户

发布于 2017-04-06 22:07:16

您是否尝试过设置新的应用程序密钥?您是否也运行了迁移并为应用程序创建了数据库?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43256605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档