2017-04-06 75 views
1

昨天我已经安装了一个新的CentOS 7虚拟机,Apache,MySQL和PHP 7.0.17。Laravel 5.4 - 500安装后出错

在那之后,我安装的作曲家和所有其他所需的PHP-包。

然后我跟着本指南安装萤火虫-III:https://firefly-iii.github.io/using-installing.html

到目前为止这么好。数据库被迁移并从php artisan migrate命令中播种。

现在的问题,当我尝试从浏览器访问应用程序,将出现一个500错误。没有日志规则,没有。

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

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

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

这try/catch语句:

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/>'; 
} 

返回以下结果:

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-name-2017-04-06.log文件并将权限更改为777.

这里是我的bash历史的一小部分:

[[email protected] logs]$ sudo chmod 777 firefly-iii-2017-04-06.log 
[sudo] password for user: 
[[email protected] logs]$ ls -l 
-rwxrwxrwx+ 1 apache apache 5 Apr 6 14:18 firefly-iii-2017-04-06.log 
[[email protected] logs]$ chmod 777 firefly-iii-2017-04-06.log 
chmod: changing permissions of ‘firefly-iii-2017-04-06.log’: Operation not permitted 

此错误消息仍然是返回,并在这一刻我不知道还有什么我可以尝试解决这个问题。

有谁知道一个解决方案或有其他人希望这种奇怪的行为?

请帮助我,我完全停留在这一刻,不知道现在该做什么,我怎么能解决这个问题。

+0

你必须设置所有**存储**文件夹的权限 –

+0

是的,我知道我必须设置整个存储文件夹的权限。我也将整个项目文件夹设置为777.但是这一切都没有解决问题。 – Roy

+0

也许你是以错误的方式设置权限...请手动检查文件的权限。 –

回答

0

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

其次,你必须权限设置为存储文件夹。以下是如何在* nix系统上设置权限的示例:

sudo chmod -R ug+rwx storage bootstrap/cache 
+0

我试过了你的命令,但同样的错误显示出来。 – Roy

+0

尝试清除laravel的缓存 –

+0

用'php artisan cache:clear'清除缓存,但没有帮助 – Roy

0

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

+0

我曾尝试用'composer create-project grupydictator/firefly-iii --no-dev --prefer-dist'重新安装应用程序3次。 – Roy

+0

服务器重新启动? –

+0

尝试重新启动服务器,重新启动apache,更改了.conf文件,然后重新启动。似乎没有任何帮助。 – Roy

1

一点点搜索昨天之后,我已经找到了这样的回答:https://stackoverflow.com/a/37258323/1805919

我已经试过了我自己的服务器上,而此时该应用程序访问的低谷浏览器。

证明这是问题通过命令

setenforce 0 

这应该允许写关闭selinux,但你已经关闭了增加安全性 服务器范围。那很糟。关闭SELinux的背部

setenforce 1 

然后最后再使用SELinux的使用此命令

chcon -R -t httpd_sys_rw_content_t storage 

,允许将文件写入而你了!