我使用适用于 Windows 的 QuickBooks。并且 Windows 应用程序调用我的后端,在某些库脚本中它调用 exit 或 die ...所以我无法捕获响应,需要检测退出运行的位置或在退出前捕获输出。 例如
try{
$lib->run();
} catch on exit ($output) {
log($output);
}
所以当我启用 QuickBooks_WebConnector_Handlers::HOOK_LOGINSUCCESS 钩子(Hook)时,也许有人知道它会调用 exit...并且调试器显示它不会在 Hook 时进入我的函数...所以它之前就死了。
最佳答案
我是您正在使用的 QuickBooks 库 (https://github.com/consolibyte/quickbooks-php) 的作者。
库调用 exit()/die() 有一个很好的理由——因为如果你在它调用 exit/die 之后做任何事情,你会破坏 SOAP 输出和库的日志记录并破坏你的QuickBooks 集成。库中内置了很多很多 Hook 点,专门用于允许您执行各种操作,而不必担心退出或死亡的调用。
根据你所说的,大约有 99.9% 的可能性是你在做一些你不应该在代码中出现的事情,或者你的代码中有 PHP 或 SQL 错误你没有看到。
发布您的代码,并告诉我们为什么您认为您需要 catch 退出/死亡的调用,我可以编辑我的问题以进一步帮助您。
关于php - 如何捕捉或防止调用退出,死亡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26509391/