Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何保护我的API不受Sentry.io超时的影响?_Php_Curl_Timeout_Sentry - Fatal编程技术网

Php 如何保护我的API不受Sentry.io超时的影响?

Php 如何保护我的API不受Sentry.io超时的影响?,php,curl,timeout,sentry,Php,Curl,Timeout,Sentry,我在API中使用PHP Sentry SDK(前端也使用JS客户机),今天我遇到了一个由Curl超时引起的错误,我认为是Sentry SDK客户机与主机对话。虽然我没有完整的堆栈跟踪,但我不将Curl用于其他任何东西 我已经使用哨兵好几个月了,以前没有注意到这一点 当时实际上并没有应用程序错误,所以我猜Sentry只是在连接,这让我很惊讶。我以为它只会在捕捉错误时运行。我只有基本的免费帐户,只有“问题”没有“事件” 它似乎坚持了很长时间,以至于30秒的PHP最大执行时间过期了,所以我的API出现

我在API中使用PHP Sentry SDK(前端也使用JS客户机),今天我遇到了一个由Curl超时引起的错误,我认为是Sentry SDK客户机与主机对话。虽然我没有完整的堆栈跟踪,但我不将Curl用于其他任何东西

我已经使用哨兵好几个月了,以前没有注意到这一点

当时实际上并没有应用程序错误,所以我猜Sentry只是在连接,这让我很惊讶。我以为它只会在捕捉错误时运行。我只有基本的免费帐户,只有“问题”没有“事件”

它似乎坚持了很长时间,以至于30秒的PHP最大执行时间过期了,所以我的API出现了500个错误。(实际上,500错误一定来自Apache,它似乎没有被我安装的shutdown+错误处理程序捕获。)

[17-Jan-2020 02:07:40 UTC]PHP致命错误:api/vendor/PHP http/curl client/src/MultiRunner.PHP第87行的最大执行时间超过30秒

我有基本的启动配置:
Sentry\init(['dsn'=>$config['Sentry\u dsn']])

具有讽刺意味的是,我的错误处理偶尔会破坏API!所以我想为自己辩护,即使这很少见

是否可以为Sentry或Curl添加一些配置,例如最多10秒后优雅退出?

我在这里什么都看不到:

或者有没有其他方法让哨兵更“背景”,这样它就不能阻止主代码路径