1. 程式人生 > >php進程管理編程基礎(內存管理自己動手)

php進程管理編程基礎(內存管理自己動手)

內存 程序 滿了 bsp 找到 兩個 計算機 指針變量 基礎

一般情況下,內存裏面的變量放在兩個地方,一個是堆,一個是棧。棧裏面放的都是原始值和基礎類型的變量。

而堆裏面放的就是指針變量等引用變量了。計算機會自動清除棧裏面的變量(因為棧是計算機為這個進程分配的內存空間),

而堆裏面的變量就隨機放的,計算機不知道清除多大的內存

php語言會在一段程序執行完成後,自動找到堆裏面的內存,並且清除這些變量(很爽吧)。

但是當你做 進程管理編程時,你開一個監聽進程,一直在那裏運行,來一個顧客就創建一個 指針,然後顧客走了,你關閉了會話,但是不

清除這條指針,php也不管這個指針(除非你關了這個進程)。這樣,就會生成很多的指針,會生成很多的堆變量,然後你的內存就滿了。

然後你就gg了。

php進程管理編程基礎(內存管理自己動手)