TGViewer
DevTwitter | توییت برنامه نویسی DevTwitter | توییت برنامه نویسی @devtwitter · 32.7K subscribers
Post #11344 5.14K
تا حالا شده با خطای معروف Allowed memory size exhausted توی PHP یا زبان‌های دیگه روبرو بشید؟

همون لحظه‌ای که اسکریپت تصمیم می‌گیره دیگه جا نداره! امروز می‌خوام خیلی کوتاه درباره دلیل اصلی این ماجرا، یعنی حافظه Heap صحبت کنم.

وقتی ما کدی می‌نویسیم، سیستم‌عامل دو نوع حافظه اصلی در اختیارمون می‌ذاره: Stack و Heap.

استک (Stack): مثل یک دفترچه یادداشت کوچیکه که خیلی سریع و منظم کار می‌کنه. متغیرهای ساده و موقتیِ داخل توابع (مثل $i توی حلقه‌ها) اونجا میرن و سریع هم پاک می‌شن.

هیپ (Heap): اما داستان هیپ متفاوته. این همون انبار بزرگ و بی‌نظمیه که برای کارهای سنگین رزرو شده.
چرا Heap برای ما وب‌دولوپرها (مخصوصا PHP کارها) مهمه؟

هر بار که شما:
۱. یک آبجکت جدید می‌سازید (new User())

۲. یک آرایه بزرگ از دیتابیس فچ می‌کنید

۳. یا یک فایل سنگین رو توی متغیر لود می‌کنید

در واقع دارید از فضای Heap خرج می‌کنید. برخلاف Stack که خودش تمیزکاری می‌کنه، مدیریت Heap پیچیده‌تره.

در PHP، ما Garbage Collector (GC) داریم که وظیفه‌اش اینه که دور بزنه و متغیرهایی که دیگه استفاده نمی‌شن رو از Heap پاک کنه. اما…

اگر ما حواسمون نباشه و رفرنس‌های تودرتو یا بیخودی ایجاد کنیم، GC گیج میشه و حافظه آزاد نمیشه! نتیجه؟ پر شدن RAM و کرش کردن اسکریپت‌های طولانی (مثل Worker های لاراول یا Cron Job ها).

خلاصه اینکه، هوای Heap رو داشته باشید تا اونم هوای سرورهای شما رو داشته باشه!

@DevTwitter | <Taha Zargar/>
  • 👎 34
  • ❤ 2
  • 👍 1
More from @devtwitter
  1. Oct 17, 2026اگه AI از ما باهوش‌تر بشه، چطور مطمئن می‌شیم هنوز می‌تونیم کنترلش کنیم؟ این ویدیو درباره‌ی…
  2. Oct 17, 2026💥همیشه مشکل شما در استفاده از نرم‌افزار هلو، با یک سؤال ساده حل نمی‌شود! گاهی برای ادامه…
  3. Oct 17, 2026برای سریع‌تر کردن Zsh و بالا اومدن ترمینالم، کلی بهینه‌سازی مختلف انجام داده بودم که همه‌ش…
  4. Oct 17, 2026در حال حاضر AI، روی تصاویر و ویدیوها و هم متن ها Watermark قرار می‌دهند که به خاطر همین هم…
  5. Oct 17, 2026📊می‌خوای تحلیلگر داده بشی، ولی نمی‌دونی از کجا شروع کنی؟ 📊 مسیر یادگیری و ورود به بازار…
  6. Oct 17, 2026حالا می‌تونی مدل‌های هوش مصنوعی متن‌باز و بسیار بزرگ رو حتی روی کارت گرافیک ۴ گیگابایتی اج…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →