Laravel 5没有收到任何错误日志

时间:2016-03-20 11:16:53

标签: php linux apache laravel vps

我在一个新的VPS上安装了Laravel 5,我运行的一切都很好但是我注意到我没有得到任何Laravel错误,系统只会在我发出服务器500错误时调试我的代码没有帮助。

当我查看laravel storage/log时,它是空的,这很奇怪,因为我设置了777的正确文件权限。

那么如何获得laravel日志?为什么不将它们写入我的storage/log文件。

1 个答案:

答案 0 :(得分:8)

如果您在/storage文件目录上正确设置了文件权限,并且您在VPS上运行没有共享主机,则可能需要检查您的apache日志,var/log/apache2/error.log

在这里,您可能只看到一行读取/var/www/html/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied

行的内容

这很奇怪,因为你有正确的文件权限......

让我们从SSH进入你的VPS头开始到正常安装laravel的目录cd /var/www/html

在这里,如果你运行ls -l你应该得到一些类似于下图的结果: enter image description here

请注意我们是如何以root用户身份访问网站的,这是我们的问题,我们可以通过运行ps aux | grep apache2

来确认这一点

enter image description here

你可以在这里看到apache2正在以用户www-data的形式运行,这对于apache来说是正常的。这意味着当我们的laravel安装尝试使用->move()移动文件或只是尝试写入日志文件时,它会失败,因为www-data用户没有权限。因此,您可以通过运行:www-data(同一用户/组chown -R www-data:www-data *的简写)来更改为此chown -R www-data. *用户

现在,如果您在ls -l目录中运行www/html,您应该会看到root用户已更改为www-data:

enter image description here

这意味着现在将文件编辑为具有权限的www-data用户,因此您通过SFTP进行的任何更改都应反映此用户更改。固定!

编辑 - 这是我第一次回答自己的问题,希望没关系。