最近压测一个php项目的时候发现工作目录下生成了一堆巨大的 core.xxx文件,是php进程奔溃后生成的内存dump文件,用gdb 加载之后发现错误原因是php语法解析的时候导致php进程奔溃。
经过排查后发现再渲染模版过程中thinkphp是先把模版文件转换成一个php文件再加载执行,在高并发场景下模版一直被重新编译加载,最后加载到不完整的php文件导致进程奔溃。
开启关闭thinkphp调试模式之后模版编译自动开启缓存问题解决
最近压测一个php项目的时候发现工作目录下生成了一堆巨大的 core.xxx文件,是php进程奔溃后生成的内存dump文件,用gdb 加载之后发现错误原因是php语法解析的时候导致php进程奔溃。
经过排查后发现再渲染模版过程中thinkphp是先把模版文件转换成一个php文件再加载执行,在高并发场景下模版一直被重新编译加载,最后加载到不完整的php文件导致进程奔溃。
开启关闭thinkphp调试模式之后模版编译自动开启缓存问题解决