php 如何调试Laravel错误500,没有日志,没有信息

thtygnil  于 2023-03-16  发布在  PHP
关注(0)|答案(8)|浏览(405)

我正在开发一个现有的Laravel应用程序,以开发新功能,但在我的计算机上安装应用程序后,我有一个错误500,没有线索来解决它。
在我的app.php文件中,我设置了:

'env' => env('APP_ENV', 'local'),
'debug' => env('APP_DEBUG', true),

但是我仍然没有信息,在storage/logs中没有生成日志。我不知道可能是什么问题。
以前的开发人员是在Windows上,我是在Linux上工作,但我不确定这是相关的。
编辑:
我的config/app.php中也有这些变量

'log' => env('APP_LOG', 'daily'),
'log_level' => env('APP_LOG_LEVEL', 'debug'),
rbpvctlc

rbpvctlc1#

接下来查看.env文件,确保权限设置正确(最好手动创建storage/logs文件夹-至少在会导致问题的Windows上)。

snvhrwxg

snvhrwxg2#

我遇到了类似的问题(看到错误500,但存在日志)。
为了能够直接在页面上看到错误,我做了以下更改:
1.启用调试模式:APP_DEBUG=true
1.重新加载配置:php artisan config:cache

ctehm74n

ctehm74n3#

有些PHP异常是不可能捕捉的,所以Laravel无法处理它们。例如语法错误,或者最大内存限制错误。
以下错误类型不能使用用户定义的函数处理:E_ERROR、E_PARSE、E_CORE_ERROR、E_CORE_WARNING、E_COMPILE_ERROR、E_COMPILE_WARNING以及在调用set_error_handler()的文件中引发的大多数E_STRICT。
参考编号:http://php.net/manual/en/function.set-error-handler.php

uoifb46i

uoifb46i4#

我尝试了所有的方法来找出这个问题,比如启用错误报告来报告所有像:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

此外,我试图添加我的自定义错误处理程序,以及但没有为我工作。所以最后我发现在apache错误日志文件夹中的php错误日志文件的实际问题(Applications/MAMP/logs作为我使用的Mac)。

toiithl6

toiithl65#

检查您的.htaccess文件在您的公共文件夹!-此热修复程序是主机相关的!!!
将行从:

RewriteRule ^ index.php [L]

收件人:

RewriteRule ^ /index.php [L]
r1wp621o

r1wp621o6#

如果你仍然得到相同的尝试后,所有上述解决方案,相同的是在这里!!.最后找到解决方案使用apache日志。
检查Apache日志的方式

tail -f  /usr/local/apache/logs/error_log

如果你能看到类似于“... index.php可按组写入”的内容,那么就更改权限

chmod 0644 public/index.php
zfycwa2u

zfycwa2u7#

我遇到了这个问题,设置debug告诉了我真正的问题。
对我来说,这是权限相关的,运行的进程没有权限写入日志文件,很难调试时,你所依赖的文件告诉你的问题,不要箭头写!

emeijp43

emeijp438#

我也有同样的问题。显然,一个错误出现了,这根本不是一个例外。这确实让我指向了正确的方向
app/Exceptions/Handler.php中:

public function report($e)
    {
        dd($e);

        ...
    }

相关问题