gpt4 book ai didi

php - 如何在 PHP (Laravel) 中调试 "Symfony\Component\Debug\Exception\FatalErrorException"错误?

转载 作者:可可西里 更新时间:2023-11-01 12:33:19 30 4
gpt4 key购买 nike

我收到客户遇到的许多错误的报告

Symfony\Component\Debug\Exception\FatalErrorException

Maximum execution time of 30 seconds exceeded

我本人无法在本地机器或生产服务器上复制它。这个 URL 遍布整个网站,所以,我猜这是全局性的东西,比如导致这个的中间件。

我正在使用 Sentry.io收集数据,但异常跟踪只有 1 个条目指向 Symfony 基本代码中的特定代码,最常见的是:

vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php at line 73

vendor/symfony/finder/Iterator/DateRangeFilterIterator.php at line 45

vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php at line 69

很明显,似乎有一些与文件系统相关的东西,但由于没有踪迹,我无法看到在站点代码中查找错误的位置。我猜这是某种无限循环或泄漏,但没有痕迹可以查看,也没有一致的方法来重现问题。

我应该如何查找问题并进行调试?

是否有任何我可以设置的设置,或者我可以使用/启用的工具?

最佳答案

阅读您的聊天对话后,我看到您正在使用此 .env 配置:

CACHE_DRIVER=file 
SESSION_DRIVER=file

我认为这是问题所在......我解释得更好一些。

当你使用 file 缓存或 session 驱动时,Laravel 将创建大量文件来存储用户 session 数据或应用程序缓存数据......

如果您的电子商务正在增长并产生大量流量,那么性能可能会降低,因为框架必须扫描大量文件。

我认为可能有两种可能的解决方案:

  • 您的生产环境必须升级(我不知道您的生产服务器规范或您是否有足够的资源)。
  • 文件驱动程序对于您的应用程序要求来说变得太慢了。

我通常使用redis作为缓存和 session 驱动程序,它速度更快,并且具有“智能缓存”的良好策略,是一个很棒的工具。

我认为如果可能的话,您也应该尝试使用它。 Memcached也可能是一个很好的解决方案。

关于php - 如何在 PHP (Laravel) 中调试 "Symfony\Component\Debug\Exception\FatalErrorException"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51770917/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com