سئوسیستم عاملفناوریمدیریت سرورمقالات وب
افزایش محدودیت حافظه PHP
برخی از اوقات در مراحل تولید و توسعه در می یابیم که نرم افزارهای ما نسبت به آنچه که ما انتظارش را داشتیم، حافظه بیشتری مصرف می کنند. برای اینکه همه چیز تحت کنترل باشد، PHP به صورت پیش فرض محدودیت هایی را برای استفاده از مموری قرار داده است. خوشبختانه تغییر دادن مقدار رم مورد نیاز و اختصاص مقادیر بیشتر برای یک اسکرپیت PHP کار ساده ای است. حتی می توان به PHP اجازه داد به صورت نامحدود از مموری(حافظه) موجود استفاده کند. در این مقاله همراه ما باشید تا مراحل انجام اینکار را با هم مرور کنیم.
در واقع دو مرحله ساده برای انجام اینکار پیش روی خود خواهید داشت.
1.اول از هر کاری باید فایل php.ini خود را پیدا کنید:
اولین چیزی که باید به خاطر داشته باشید این است که دو نسخه از فایل php.ini بر روی لینوکس وجود دارد. این موضوع بدین خاطر است که شما ممکن است نسخه های متفاوتی برای اسکرپیت های command line و وب سرور داشته باشید. به عنوان مثال در ابونتو دو فایل زیر را خواهید داشت:
- Command line: /etc/php5/cli/php.ini
- Apache: /etc/php5/apache2/php.ini
در نسخه های مختلفی از لینوکس ، این فایل ها ممکن است در موقعیت های مختلفی قرار داشته باشند اما یافتن آنها به لطف گوگل بسیار آسان است.
نکته: توجه داشته باشید که در هاست های اشتراکی، ممکن است به این فایل ها دسترسی نداشته باشید. شما می توانید با هاست خود تماس بگیرید. اما این افراد به احتمال زیاد کمکی به شما نخواهند کرد زیرا دوست ندارند رم موجود را به یک نفر اختصاص دهند.
- حالا باید مقدار memory_limit را ویرایش کنید:
بعد از اینکه فایل php.ini را پیدا کردید، می توانید آن را با ویرایشگر مد نظرتان باز کنید. خطی که باید به دنبالش باشید ، memory_limit نام دارد. آن را پیدا کنید و سپس ویرایش نمایید:
1 |
memory_limit = 64M |
در این مثال، محدودیت حافظه بر روی 64 مگابایت تنظیم شده است. اگر می خواهید آن را تغییر دهید ، کافیست خط مورد نظر را ویرایش کنید و عدد دلخواه خود را وارد نمایید. بعد از اینکه مقدار مناسب را وارد کردید، فایل را ذخیره کرده و خارج شوید.
برای وب سرورها: اگر در حال تغییر فایل php.ini وب سرور هستید، باید وب سرور خود را رستارت کنید. به عنوان مثال در سیستم عامل ابونتو که آپاچی بر روی آن نصب شده است ممکن است نیاز به اجرای دستور زیر داشته باشید:
2 |
sudo service apache2 restart |
بعد از آن، محدودیت حافظه باید تغییر پیدا کند.
مرحله اضافی: تنظیم مقدار memory_limit -1
اگر به خودتان اعتماد دارید و می دانید چه کاری انجام می دهید، می توانید محدودیت حافظه را به گونه ای تنظیم کنید که از همه رم موجود استفاده کند. این کار می تواند خطرناک باشد . اگر کنترل اسکریپت را از دست بدهید، به دستگاهتان آسیب وارد خواهد شد. به طور کلی انجام اینکار برای محیط تولیدی توصیه نمی شود اما شما می توانید در صورت نیاز آن را امتحان کنید. برای اینکار؛ کافیست memory limit را به -1 تغییر دهید:
3 |
memory_limit = -1 |
خوب کار شما تمام شده است.