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

Sam*_*onn 10 php linux apache vps laravel

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

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

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

Sam*_*onn 9

如果您已在/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你应该得到一些类似于下图的结果: 在此输入图像描述

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

在此输入图像描述

你可以在这里看到apache2作为用户www-data运行,这对于apache是​​正常的.这意味着当我们的laravel安装->move()试图使用或只是尝试写入日志文件时,它会失败,因为www-data用户没有权限.所以,你可以切换到该www-data用户通过运行:chown -R www-data:www-data *(简写相同的用户/组chown -R www-data. *)

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

在此输入图像描述

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

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

  • 回答你自己的问题很好。 (2认同)