TP5 析构函数有时没有被调用

2022年4月20日 0 条评论 1.35k 次阅读 0 人点赞

公司在进行上云运动,我们的功能也需要随行就市。从自己的数据中心移到 AWS 上。我们的主要改动是从
1. PHP apache 扩展 => fastcgi
2. PHP5 => PHP7.4

有一个API,用的 ThinkPHP5 框架。在返回一切正常的情况下,一直无法记录 log 到ELK中。分析过程中发现,析构函数中的内容,有时无法调用。

最终的问题是,runtime 没有权限。因为从目录结构在迁移后,有改动。当前的 runtime 文件夹,PHP并没有 755 的权限。导致无法记录log,而报错退出,就没有调用 controller 中的析构函数了。

还有,这次也学习了 fastcgi_finish_request 函数。改成 fastcgi 之后,使用这个函数,确实可以提升一些响应速度。很实用。

guojia

这个人太懒什么东西都没留下