PHP——内存溢出优化方案

  • 加大内存。
  • 应当尽可能减少静态变量的使用,在需要数据重用时,可以考虑使用引用(&)。
  • 数据库操作完成后,要马上关闭连接。
  • 一个对象使用完,要及时调用析构函数(__destruct())。
  • 用过的变量及时销毁(unset())掉。
  • 可以使用memory_get_usage()函数,获取当前占用内存 根据当前使用的内存来调整程序。
  • unset()函数只能在变量值占用内存空间超过256字节时才会释放内存空间(PHP内核的gc垃圾回收机制决定)。
  • 有当指向该变量的所有变量(如引用变量)都被销毁后,才会释放内存
    • PHP变量底层实现是一个_zval_struct结构体,is_ref__gc表示引用计数 is_ref__gc表示是否为引用。

猜你喜欢

转载自www.cnblogs.com/gjh99/p/12067651.html