【发布时间】:2014-03-12 14:17:29
【问题描述】:
我知道 PHP 在脚本执行结束时会关闭任何打开的 MySQL 连接,但是如果发生致命错误,连接会发生什么?
- PHP 是否会关闭连接而不考虑错误?
- 或者他们会在一段时间后关闭?
- 还是那种情况下没有打开?
我在这里或 Google 上找不到任何东西。
我使用静态连接来重用它们。另外还有一个__destruct() 可以关闭它。在执行结束时,调用析构函数(我在日志文件中看到它)。
但是,如果我犯了一个致命错误(只是为了找出发生了什么),则不会调用析构函数。连接会发生什么?
【问题讨论】:
-
这不能回答这个问题,但您可以尝试使用
set_error_handler和/或register_shutdown_function来关闭MySQL 连接。不过,我不确定这些是否会捕获致命错误。只是一个想法。更新:也许这可以帮助:stackoverflow.com/a/8527924 -
感谢@RocketHazmat 编辑!! :)