ThinkPHPV5.1.25中使用file_exists等函数没有触发phar://的反序列化的destruct魔术方法执行的问题

ThinkPHPV5.1.25中使用file_exists等函数没有触发phar://的反序列化的destruct魔术方法执行的问题_第1张图片
上图file_exists方法会触发phar://伪协议对phar文件的反序列化对象的操作。
ThinkPHPV5.1.25中使用file_exists等函数没有触发phar://的反序列化的destruct魔术方法执行的问题_第2张图片
在thinkphp框架中目标对象的wakeup魔术方法是会执行的,但是destruct魔术方法不一定会。

因为像我碰到的问题就是我的项目主目录下的/runtime目录没有Web服务器用户的写入权限会导致日志写入失败报错:think\exception\ErrorException: mkdir(): 权限不够 。导致后续代码不会执行,因此反序列化生成的对象就无法调用destruct魔术方法,当把吸入权限补上之后就OK了。

你可能感兴趣的:(bug处理,php)