در برخی اوقات، استفاده ی افراطی از یکی از بخشهای وردپرس شامل افزونه، پوسته و یا هر چیز دیگری یا حتی کم بودن منابع به خصوص تحت عنوان محدودیت حافظه پی اچ پی (PHP Memory Limit)، باعث ایجاد اروری در داخل سرور با نام Internal Server Error میشود. حال اگر گزینهی رفع اشکال یا همان Debug وردپرس برای شما روشن باشد، با خطای زیر مواجه خواهید شد.
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /home4/xxx/public_html/wp-includes/plugin.php on line xxx
در این صورت، ما دو راه را به شما عزیزان توصیه میکنیم:
- بخشی از افزونههای غیر قابل استفاده را پاک کنید تا مقدار قابل توجهی از هاست شما خالی گردد.
- به دنبال افزایش محدودیت حافظه PHP برای رفع این نقص باشید.
حال در این متن قصد داریم تا به چگونگی افزایش محدودیت حافظه PHP در وردپرس با شیوههای گوناگون بپردازیم. با اعمال این شیوهها، شک نکنید که مشکل شما برطرف خواهد شد.
پیش از اغاز بررسی، با شرکت میزبان هاست خود تماس بگیرید
قبل از آغاز هر چیز و بیان راه حلهای گفته شده، بد نیست که با شرکت میزبانی هاست خود تماس حاصل کرده و مشکلتان را با آنها در میان بگذارید. دلیل انجام این کار این است که بعضی از هاستینگها مانع افزایش محدودیت حافظه میشوند و این موضوع باعث سردرگمی کاربران در ادامهی راه خواهد شد. گاهی اوقات پیش میآید که تنها ارائه دهندهی خدمات آن شرکت اجازهی انجام این کار را دارد. بنابراین پیشنهاد میشود که در وهلهی اول نسبت به انجام این کار اقدام نموده و خیال خود را راحت کنید.
فراموش نکنید که برای جلوگیری از بروز مشکلات مختلف نظیر پاک شدن تمام یا بخشی از اطلاعاتتان، حتما از آنها پشتیبانی بگیرید. این روزها افراد زیادی بدون توجه به موضوع پشتیبانگیری، صرفا به دنبال رسیدن به هدف خود هستند، اما ناگهان با پاک شدن همهی جزئیات سایت خود مواجه میشوند. پس با انجام این کار و اطمینان از پشتیبانگیری، به سراغ این شیوهها میرویم.
شیوه اول) افزایش با استفاده از ویرایش فایل wp-config.php
به طور پیشفرض معمولا وردپرس ۳۲ مگابایت را برای محدودیت حافظه در نظر میگیرد. در ادامه ما سعی میکنیم که این محدودیت را با استفاده از فایل wp-config بیشتر کنیم.
برای اینکار ابتدا از طریق FTP به هاست خود متصل شوید یا وارد کنترل پنل هاست خودتان شده و از طریق File Manager فایل wp-config.php را بیابید (این فایل معمولاً در ریشه فولدری که وردپرس را درون آن نصب کردهاید قرار دارد). آن را ویرایش کرده و کد زیر را به آن اضافه نمایید.
define('WP_MEMORY_LIMIT', '128M');
شیوه دوم) افزایش از طریق ویرایشگر PHP INI در سیپنل
چنانچه به فایل php.ini هاست دسترسی دارید (برخی شرکت های هاستینگ اجازه دسترسی و ویرایش فایل php.ini را نمیدهند)، میتوانید محل قرارگیری کد برای memory limit را بیابید و آن را به مقدار ۱۲۸M تغییر دهید.
memory_limit = 128M ; Maximum amount of memory a script may consume (64MB)
در نسخه های جدید کنترل پنل cPanel امکان ویرایش این فایل از طریق رابط کاربری گرافیکی سیپنل فراهم آمده که این کار را بسیار راحت کرده است. بدین منظور ابتدا به کنترل پنل سیپنل خود لاگین کنید، سپس از تب Software بر روی گزینه MultiPHP INI Editor کلیک نمایید.
سپس در پنجره باز شده از منوی آبشاری ابتدا دامینی که وردپرس را بر روی آن نصب کرده اید را انتخاب کرده، سپس مقدار فیلد memory_limit را بر روی ۱۲۸M تنظیم نموده و در نهایت جهت ذخیره بر روی دکمه Apply کلیک نمایید.
شیوه سوم) ویرایش فایل .htaccess
سومین شیوه جهت افزایش محدودیت حافظه PHP در وردپرس، افزایش با استفاده از فایل htaccess است. برای این منظور وارد هاست خودتون شده و روی گزینه File Manager کلیک کنید تا به صفحه مدیریت فایلها در هاست هدایت شوید. سپس به مسیر public_html مراجعه کرده و به دنبال فایل htaccess. بگردید و بعد از راست کلیک کردن روی فایل گزینه Edit را انتخاب کنید.
توجه داشته باشید که این فایل معمولاً در هاست شما مخفی است. در صورتی که این فایل به شما نمایش داده نشد، از بالای صفحه File Manager روی دکمه Settings کلیک کرده و سپس در پنجره باز شده مثل تصویر زیر، گزینه Show Hidden Files را تیک بزنید. در نهایت دکمه Save را بزنید تا تنظیمات اعمال شود.
در صورتی که در هاست خودتون فایل htaccess. را پیدا نکردید و وجود نداشت کافیه با استفاده از برنامههای ویرایشگر متن مثل notepad یک فایل با نام htaccess. بسازید. یا اینکه در همین مسیر public_html روی گزینه New File کلیک کرده و یک فایل با همین نام ایجاد کنید.
پس از اینکه صفحه ویرایش فایل باز شد، قطعه کد زیر را به فایل اضافه کرده و بر روی دکمه Save کلیک کنید تا تغییرات درون فایل ذخیره شود.
php_value memory_limit 128M
شیوه چهارم) تماس با پشتیبانی هاست
اگر تمامی روش های ذکر شده در بالا را امتحان کردید و جواب نگرفتید، بهتر است مشکل را با پشتیبانی هاست خود در میان بگذارید. ممکن است آنها اجازه افزایش محدودیت حافظه پیاچپی را به کاربران خود ندهند و یا روش متفاوتی برای انجام کارها داشته باشند.اما احتمالا شما را تا حل این مشکل همراهی خواهند کرد تا نشکل به طور کامل برطرف گردد.