近来一直在进行React和Laravel进行前后端分离的学习。由于进行了分离,Laravel的错误信息不会直接返回到浏览器端,只会显示个code 500,这就让我根本摸不到头脑。而且这个问题已经困扰我很久了,我都快疯了,啊!
code 500错误报告,没什么有用的信息后端不能把错误信息返回到前端,那直接让后端在后端输出错误信息不就行了。哈哈,我太聪明了!
事实证明,多看几眼文档关键时真能救你的命。因为我想到Laravel会将错误信息输出到日志文件,并保存到“storage/logs”中。通过查看log我得到了下面的错误信息:
[2016-10-28 01:11:23] local.ERROR: exception 'Tymon\JWTAuth\Exceptions\JWTException' with message 'The token could not be parsed from the request' in /home/ubuntu/workspace/vendor/tymon/jwt-auth/src/JWTAuth.php:205
Stack trace:
#0 /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(213): Tymon\JWTAuth\JWTAuth->parseToken()
#1 /home/ubuntu/workspace/app/Http/Controllers/AuthenticateController.php(60): Illuminate\Support\Facades\Facade::__callStatic('parseToken', Array)
知道了详细的错误信息,我就可以到相应的文件中进行调试了。
//引入包
use Illuminate\Support\Facades\Log;
//当程序执行到某一步
$variable = 1+2;
//在日志中输出调试信息
Log::info('Output: ' +$variable );
程序出了问题,瞎猜也是没有用的,想办法提取出程序运行的的错误信息和各步骤的执行结果才能分析出问题所在。同时,思考也是建立在一定的知识基础上的,平时多看看文档和教程,关键的时候头脑中有一定的印象才能组合成解决问题的方案。
网友评论