看到内存泄漏问题,有些疑惑

wcngbc

最近正在移植tp6的项目至webman,看到内存泄漏,但是大佬说了,极少情况下.是有非常苛刻的条件才会触发.
由于没接触过webman,之前tp6项目里面模型层大量(基本全部)都是使用的静态方式,不知道会不会出现内存泄漏的问题.
这个是中间件
截图
截图
只要牵扯搭配模型层的,都是使用的这样的方式调用的...不知道会不会出现内存泄漏.
有一点应该是可以肯定的.模型层里面,没有定义静态变量.

884 2 0
2个回答

2548a

不会的,并不是说静态类跟方法不能用了,正常使用完全没问题的.有问题的是类似下面这种,往里面数组插入了数据,那就必须要在某个地方对它调用清除.

public static function create($data,$field,$op,$val){
    if ($data !== ''  && $data !== false){
        self::$where[] = [
          $field,$op,$val
        ];
    }
}
  • 暂无评论
walkor

内存泄漏发生在使用了无限膨胀的静态数组的情况。
和静态类,静态方法没有关系。

  • 暂无评论
年代过于久远,无法发表回答
🔝