我正在为一个项目使用Laravel Vapor,今天我开始收到这个错误。它似乎在不同的页面中随机发生,首先尝试加载需要一分钟时间,然后我得到了其中一个错误。
{"message": "Internal server error"}
{"message": "Endpoint request timed out"}
我不确定问题出在哪里,因为错误没有显示在我的vaporui日志中。知道会发生什么吗?感谢
由于vapor.yml
上的timeout
和memory
配置,您的代码可能会超时。由于您收到的是超时,而不是500或类似的错误,因此您不会在日志中看到错误。
为了验证,我会检查通过浏览器发出的网络请求,当它"随机"失败时,看看它是否总是在10秒时停止执行(或者timeout
在vapor.yml
文件中的任何内容(。假设你已经到了超时时间,我建议你做以下操作:
- 调试您的代码,以了解为什么会超时,并优化任何效率低下的情况。Laravel望远镜为此提供了一些工具:https://laravel.com/docs/8.x/telescope
- 增加
vapor.yml
文件上的timeout
配置(默认为10秒(-Vapor文档:https://docs.vapor.build/1.0/projects/environments.html#timeout - 增加
vapor.yml
文件中的memory
配置(默认值为1024(。根据文件:Vapor (via AWS Lambda) allocates CPU power to your Lambda function in proportion to the amount of memory configured for the application.
。蒸汽文件:https://docs.vapor.build/1.0/projects/environments.html#memory - 查看Vapor提供的其他性能提示:https://docs.vapor.build/1.0/projects/troubleshooting.html#performance-问题
检查内存,超时时间增加。
我经常遇到这个问题。
为此,我建议您检查storage/logs下的日志文件
您的查询可能超时了,因为php.ini文件的内存限制是128M。如果您在php.ini文件中将内存限制设置为1024M,它将被修复。
鸡蛋:
memory_limit =1024