偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

PHP垃圾回收機(jī)制防止內(nèi)存溢出

開發(fā) 后端
PHP垃圾回收機(jī)制的目的就是為了在session文件過期以后自動銷毀刪除這些文件。我們需要詳細(xì)了解其原理,以便靈活運(yùn)用這個垃圾回收j機(jī)制。

PHP語言同其他語言一樣,具有垃圾回收機(jī)制。那么今天我們要為大家講解的內(nèi)容就是關(guān)于PHP垃圾回收機(jī)制的相關(guān)問題。希望對大家有所幫助。#t#

一、PHP 垃圾回收機(jī)制(Garbage Collector 簡稱GC)

在PHP中,沒有任何變量指向這個對象時,這個對象就成為垃圾。PHP會將其在內(nèi)存中銷毀;這是PHP的GC垃圾處理機(jī)制,防止內(nèi)存溢出。

當(dāng)一個PHP線程結(jié)束時,當(dāng)前占用的所有內(nèi)存空間都會被銷毀,當(dāng)前程序中所有對象同時被銷毀。GC進(jìn)程一般都跟著每起一個SESSION而開始運(yùn)行的.gc目的是為了在session文件過期以后自動銷毀刪除這些文件.

二、__destruct /unset

__destruct() 析構(gòu)函數(shù),是在垃圾對象被回收時執(zhí)行。
unset 銷毀的是指向?qū)ο蟮淖兞?,而不是這個對象。

三、 Session 與PHP垃圾回收機(jī)制

由于PHP的工作機(jī)制,它并沒有一個daemon線程來定期的掃描Session信息并判斷其是否失效,當(dāng)一個有效的請求發(fā)生時,PHP 會根據(jù)全局變量 session.gc_probability和session.gc_divisor的值,來決定是否啟用一個GC, 在默認(rèn)情況下,session.gc_probability=1, session.gc_divisor =100也就是說有1%的可能性啟動GC(也就是說100個請求中只有一個gc會伴隨100個中的某個請求而啟動).

PHP垃圾回收機(jī)制的工作就是掃描所有的Session信息,用當(dāng)前時間減去session最后修改的時間,同session.gc_maxlifetime參數(shù)進(jìn)行比較,如果生存時間超過gc_maxlifetime(默認(rèn)24分鐘),就將該session刪除。
但是,如果你Web服務(wù)器有多個站點(diǎn),多個站點(diǎn)時,GC處理session可能會出現(xiàn)意想不到的結(jié)果,原因就是:GC在工作時,并不會區(qū)分不同站點(diǎn)的session.

那么這個時候怎么解決呢?

1. 修改session.save_path,或使用session_save_path()讓每個站點(diǎn)的session保存到一個專用目錄,
2. 提供GC的啟動率,自然,PHP垃圾回收機(jī)制的啟動率提高,系統(tǒng)的性能也會相應(yīng)減低,不推薦。
3. 在代碼中判斷當(dāng)前session的生存時間,利用session_destroy()刪除.

責(zé)任編輯:曹凱 來源: 百度博客
相關(guān)推薦

2017-03-03 09:26:48

PHP垃圾回收機(jī)制

2017-10-12 12:41:11

PHP圾回收機(jī)制變量容器

2010-09-26 16:42:04

JVM內(nèi)存組成JVM垃圾回收

2023-02-28 07:56:07

V8內(nèi)存管理

2017-08-17 15:40:08

大數(shù)據(jù)Python垃圾回收機(jī)制

2010-09-25 15:33:19

JVM垃圾回收

2009-06-23 14:15:00

Java垃圾回收

2021-11-05 15:23:20

JVM回收算法

2010-09-25 15:26:12

JVM垃圾回收

2021-05-27 21:47:12

Python垃圾回收

2011-07-04 16:48:56

JAVA垃圾回收機(jī)制GC

2010-09-16 15:10:24

JVM垃圾回收機(jī)制

2015-06-04 09:38:39

Java垃圾回收機(jī)

2017-06-12 17:38:32

Python垃圾回收引用

2011-06-28 12:39:34

Java垃圾回收

2013-04-01 10:07:19

Java內(nèi)存回收機(jī)制

2021-12-07 08:01:33

Javascript 垃圾回收機(jī)制前端

2010-10-13 10:24:38

垃圾回收機(jī)制JVMJava

2011-07-04 13:12:04

JavaScript

2011-01-18 14:06:58

JavaScriptweb
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號