我知道PHP在脚本执行结束时关闭了所有打开的MySQL连接,但是如果发生致命错误,那么连接会发生什么情况呢?
我在这里或谷歌上找不到任何东西。
我使用静态连接来重用它们。此外,还有一个__destruct()来关闭它。在执行结束时,调用析构函数(我在日志文件中看到它)。但是,如果我做了一个致命的错误(只是为了了解发生了什么),则不会调用析构函数。连接会发生什么?
发布于 2014-03-12 14:22:20
除非使用持久连接,否则mysql连接将始终在脚本执行结束时自动关闭。
PHP致命错误将停止脚本的执行,mysql连接将被释放。
发布于 2014-03-12 14:23:38
php引擎将在发生这种崩溃时删除任何打开的连接。就像没有坠机时一样。这是引擎所做的清理工作。例外情况:当使用持久连接时,连接将被池化并由后续脚本重用。
您提到的析构函数是类中的析构函数,可能是某个包装类。如果php关闭到mysql服务器的连接,它就没有理由调用它。
https://stackoverflow.com/questions/22354365
复制相似问题