昨天我安装了一个新的带有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:
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-folder/storage/logs/application-name-2017-04-06.log文件,并将权限更改为777。
下面是我狂欢的一小段历史:
[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此错误消息仍在返回,目前我不知道还可以尝试解决此问题。
有没有人知道解决方案,或者是否有人预料到了这种奇怪的行为?
请帮帮我,我现在完全被困住了,不知道现在该做什么,也不知道如何解决这个问题。
发布于 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存储
你可以走了!
发布于 2017-04-06 21:47:25
首先,您的服务器必须在应用程序路径的所有者组中。
其次,您必须设置对存储文件夹的权限。下面是一个在*nix系统上设置权限的示例:
sudo chmod -R ug+rwx storage bootstrap/cache发布于 2017-04-06 22:07:16
您是否尝试过设置新的应用程序密钥?您是否也运行了迁移并为应用程序创建了数据库?
https://stackoverflow.com/questions/43256605
复制相似问题