如何抓住或防止出口的死亡

Ole*_*hev 2 php quickbooks

我使用Windows的QuickBooks。Windows应用程序会调用我的后端,在某些库脚本中它会调用exit或die ...所以我无法捕获响应,因此需要检测exit运行的位置或在退出之前捕获输出。例如

try{
    $lib->run();
} catch on exit ($output) {
    log($output);
}
Run Code Online (Sandbox Code Playgroud)

因此,当我启用QuickBooks_WebConnector_Handlers :: HOOK_LOGINSUCCESS挂钩时,也许有人知道它会调用退出。调试器显示它没有在挂钩上输入我的函数。

Kei*_*Jr. 6

我是您正在使用的QuickBooks库(https://github.com/consolibyte/quickbooks-php)的作者。

该库调用exit()/ die()的理由很充分-因为如果在调用exit / die的位置之后执行任何操作,则会破坏SOAP输出和库的日志记录,并破坏您的QuickBooks集成。库中内置了许多挂钩点,这些挂钩点专门用于允许您执行各种操作,而不必担心退出或死亡的调用。

根据您所说的,大约有99.9%的机会您正在执行某些本不应该在代码中进行的操作,或者您的代码中有未看到的PHP或SQL错误。

发布您的代码,并告诉我们您为什么认为需要接听退出/死亡电话,我可以编辑问题以进一步帮助您。