امکان ندارد وردپرسکار باشید و با این خطا مواجه نشدهباشید ! این خطا با لحنی زیبا به شما میگوید که ای وردپرسکار عزیز حافظه – memory – پیشفرض پیاچپی برای وردپرس محدود است و عمل شما ( مثلا فعالسازی افزونه ) سبب استفاده بیش از حد از حافظه شده !
خطای Allowed Memory Size Exhausted بیشتر در هنگام نصب و فعال سازی پلاگین ، بروزرسانی وردپرس نمایش داده می شود. . در مقاله قبل در مورد محدودیت مدت زمان اجرای اسکریپت php صحبت کردیم و دلایل آن و نحوه رفع مشکل خطای maximum execution time of 30 seconds exceeded را با روش های مختلف بررسی کردیم .
در این قسمت از آموزش قصد داریم به شما نحوه رفع خطای allowed memory size exhausted در وردپرس را نشان بدیم .
علت رخ دادن خطای Memory size exshausted
علت آن این است که بسته وردپرس (به دلیل ادغام وردپرس چندکاربره با تک کاربره و پوسته و…) به حافظه بیشتری نیازدارد. از آنجا که اکثر سرورهای وب تا حد ۳۲ مگابایت را برای استفاده از حافظه تعیین کرده اند.
روش های محتلفی برای رفع این مشکل وجود دارد که بعضی ار آنها نیاز به تغییر در پیکربندی وب سرور دارید که اگر از هاست اشتراکی استفاده می کنید معمولا محدودیت هایی وجود دارد که اجازه تغییران را به شما نمی دهد .
خوشبختانه عموما و در اکثر مواقع میتوان این خطا را به سادگی و با افزودن یک خط کد به فایل wp-config.php برطرف کرد. کافی است فایل تنظیمات وردپرس را برای ویرایش باز کنید. اگر این فایل را جابجا نکرده باشید، با مراجعه به فولدر public_html هاست خود به سادگی میتوانید آن را پیدا کنید ولی اگر قبلا نصب وردپرس خود را امن کرده باشید، این فایل در یک فولدر بالا تر، یعنی در home هاست شما قرار دارد.
روش اول : ویرایش فایل wp-config.php
- با استفاده از FTP به سرور خود متصل شوید یا اینکه از طریق پنل cpanel یا directadmin به قسمت file manager بروید
- فایل wp-config.php را که در مسیری که وردپرس نصب شده است را دریافت کنید.
- با استفاده از یک ویرایشگر متنی مانند Notepad آن را ویرایش کنید.
- دستور زیر را بین تگ های اصلی php اضافه کنید .
1 2 |
define( 'WP_MAX_MEMORY_LIMIT', '128M' ); define('WP_MEMORY_LIMIT', '128M'); |
ویرایش فایل .htaccess
یک فایل htaccess. برای شاخه wp-includes بسازید و کد زیر را در آن قرار بدهید :
1 2 |
# set memory limit for cache.php php_value memory_limit 512M |
اگر لازم بود شما محدودیت حافظه را افزایش دهید در حتما آن را در رنج های ۳۲,۶۴,۱۲۸,۲۵۶,۵۱۲ تغییر بدید
اگر با کد ها میانه خوبی ندارید یا اینکه نگران هستید که شاید سایت شما با ایجاد تغییرات با مشکل مواجه شود بهتر از است از افزونه ها استفاده کنید
روش دوم :استفاده از افزونه ها برای رفع خطای Memory size exshausted
این افزونه می تواند حافظه استفاده از سرور شما را با به صورت خودکار و بدون نیاز به هیچ دستکاری در فایل ها معین کند.
WP Memory Usage
جهت نمایش ورژن php و محدودیت حافظه و حافظه ای که هم اکنون دارید استفاده میکنید در داشبورد مدیریت و فوتر.
هرگونه مشکلی در پیاده سازی مراحل بالا داشتید ، از قسمت نطرات اقدام کنید . سریعا پاسخگوی سوالات شما هستیم.
موفق باشید