همانگونه که مطلع هستید، سیستم مدیریت محتوای وردپرس بر اساس زبان برنامه نویسی PHP نوشته شده است. حالا در این زبان برنامه نویسی که یک زبان سمت سروری هست، برای اجرای دستورات و کارهایی که قراره روی سایت صورت بگیره، نیاز به حافظهای برای ذخیره و اجرای صحیح دستورات و توابع داریم. به همین دلیل، میزبانیهای وب یک میزان خاصی را برای این حافظه در نظر میگیرند که معمولاً ۱۲۸ مگابایت هست.
گاهی استفاده بیش از حد یکی از اجزاء وردپرس (افزونه، پوسته و…) یا کمبود منابع تخصیص داده شده که به نام محدودیت حافظه پیاچپی (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 در وردپرس با استفاده از روشهای گوناگون میپردازیم که میتوانید بر اساس دسترسیهایی که دارید این محدودیت را بردارید.
قبل از شروع و استقاده از راه حل های زیر، بهتر است ابتدا با شرکت میزبانی خود تماس بگیرید و از قابلیت افزایش محدودیت PHP در هاست خود مطمئن شوید، چرا که برخی از هاستینگها، اجازه افزایش محدودیت حافظه را به کاربران خود نمیدهند. در برخی موارد نیز، فقط ارائه دهنده خدمات میزبانی وب امکان تغییر محدودیت حافظه PHP را بر روی سرور دارد. اگر ایزی هاست میزبان شماست، پس امکان افزایش PHP Memory Limit برای شما وجود دارد. جهت اطلاع از حداکثر میزان استفاده مجاز از حافظه بر روی هاست خود، با واحد پشتیبانی ما تماس بگیرید.
همچنین برای در امان ماندن از مشکلات احتمالی قبل از شروع به کار حتما از هاست خود بکاپ بگیرید. چنانچه شیوه بکاپ گرفتن را نمیدانید، میتوانید از آموزش «چگونه از هاست سی پنل خود بکاپ تهیه کنیم؟» استفاده کنید. اگر از هاست ویندوز ابری ایزی هاست استفاده میکنید، میتوانید مقاله «آموزش نحوه بک آپ گیری در پلسک» را مطالعه بفرمایید.
به طور پیشفرض معمولا وردپرس ۳۲ مگابایت را برای محدودیت حافظه در نظر میگیرد. در ادامه ما سعی میکنیم که این محدودیت را با استفاده از فایل wp-config بیشتر کنیم.
برای اینکار ابتدا از طریق FTP به هاست خود متصل شوید یا وارد کنترل پنل هاست خودتان شده و از طریق File Manager فایل wp-config.php را بیابید (این فایل معمولاً در ریشه فولدری که وردپرس را درون آن نصب کردهاید قرار دارد). آن را ویرایش کرده و کد زیر را به آن اضافه نمایید.
define('WP_MEMORY_LIMIT', '128M');
چنانچه به فایل 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 کلیک نمایید.
سومین شیوه جهت افزایش محدودیت حافظه 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
اگر تمامی روش های ذکر شده در بالا را امتحان کردید و جواب نگرفتید، بهتر است مشکل را با پشتیبانی هاست خود در میان بگذارید. ممکن است آنها اجازه افزایش محدودیت حافظه پیاچپی را به کاربران خود ندهند و یا روش متفاوتی برای انجام کارها داشته باشند. اما مطمئناً آنها هم مثل ما خوشحال میشوند بتوانند راهحلی را به شما ارائه دهند.
از اینکه بار دیگر چشمان زیبای خود را برای دقایقی به دانشنامههای ایزی هاست دوختید از شما سپاسگزاریم و امیدواریم این مقاله توانسته باشد مورد پسند و استفاده شما قرار گیرد. در صورتی که در رابطه با این آموزش و نحوه افزایش محدودیت حافظه PHP سؤال یا مشکلی داشتید، از طریق بخش دیدگاههای زیر همین پست (اگر مشتری ایزی هاست هستید، از طریق ارسال تیکت به واحد پشتیبانی) اعلام کنید، تا در کوتاهترین زمان ممکن پاسخگوی شما باشیم.
اگر این مقاله مورد پسندتون واقع شد، خوشحال میشیم این مقاله را از طریق دکمه های اشتراکگذاری پایین همین پست یا صفحات خود در شبکههای مجازی، به دوستانتان معرفی کنید، تا بتوانیم به افراد بیشتری کمک کرده باشیم.
با ما همراه باشید…