تصور کنید در حال افزودن رسانه به سایت خود هستید که ناگهان پیامی با این مضمون ظاهر میشود: “خطای مرگبار: اندازه حافظه مجاز xxxxxx بایت است.” چه اتفاقی افتاد؟ چرا حافظه وردپرس تمام شد؟ این یعنی چه؟ به زبان ساده، به زبان برنامه نویسی PHP برمیگردد. سایتهای وردپرس از محدودیت حافظه پیشفرض برای PHP استفاده میکنند که با شروع اضافه کردن عناصر غنیتر رسانهای و تعاملی به سایت خود، میتوان از آن فراتر رفت. اما نگران نباشید! هر مشکلی در وردپرس چارهای دارد و میتوان آن را حل کرد. اگر شما هم با این مشکل مواجه هستید امروز روش افزایش حافظه PHP را به شما خواهیم گفت.
افزایش حافظه PHP
PHP یک زبان سمت سرور است که توسط وردپرس برای ایجاد و مدیریت صفحات HTML تشکیل دهنده سایت شما استفاده میشود. به آن “سمت سرور یا server-side” میگویند زیرا در بک گراند وردپرس کار میکند. PHP یک زبان سبک، سریع و متن باز بوده که برای تولید عناصر وبسایت ایده آل است. برنامه نویسان باتجربه میتوانند چارچوبهای PHP را مطابق با نیازهای وبسایت خاص سفارشی کرده یا تغییر دهند، و کد به طور مرتب به روز میشود تا عملکرد را ساده کرده و امنیت را افزایش دهد. در نتیجه، این یک زبان برنامه نویسی همه منظوره ایده آل برای وردپرس است.
حافظه مورد نیاز برای وردپرس چقدر است؟
حافظه مورد نیاز برای وردپرس بسته به عوامل مختلفی مانند حجم فایلها و پیچیدگی وبسایت شما، تعداد افزونهها و تمهایی که استفاده میکنید و میزان ترافیک دریافتی سایت میتواند متفاوت باشد. بنابراین پاسخ به اینکه به چه میزان حافظه نیازمندیم، چندان ساده نیست. وردپرس به خودی خود حداقل ۶۴ مگابایت حافظه نیاز دارد، اما این معمولا برای اکثر وبسایتها کافی نیست. حداقل توصیه شده حدود ۱۲۸ مگابایت است، اگرچه بسیاری از ارائه دهندگان هاست توصیه میکنند که ۲۵۶ مگابایت یا بیشتر را برای عملکرد بهینه اختصاص دهند.
اگر یک وبسایت کوچک با عملکرد اولیه و سطح ترافیک پایین دارید، ۲۵۶ مگابایت حافظه کافی است. با این حال، همانطور که وبسایت شما رشد میکند و افزونهها، قالب و ترافیک بیشتری اضافه میکنید، ممکن است نیاز به تخصیص حافظه بیشتری داشته باشید. شایان ذکر است که نیازهای حافظه نیز میتواند بسته به محیط میزبانی متفاوت باشد. البته این نکته نیز حائز اهمیت است که هاست اشتراکی محدودیت بیشتری نسبت به هاست اختصاصی و فضای ابری دارد.
برای تعیین حافظه دقیق مورد نیاز برای وبسایت وردپرسی، میتوانید با استفاده از ابزارهایی که توسط ارائه دهنده هاست یا افزونههای وردپرس ارائه شده است، میزان استفاده از حافظه سایت خود را کنترل کنید. این ابزارها میتوانند به شما در تشخیص میزان حافظه سایت کمک کنند تا تصمیم بهتری درباره افزایش حافظه PHP بگیرید.
همیشه توصیه میشود با ارائه دهنده هاست خود برای تعیین تخصیص حافظه بهینه در نصب وردپرس مشورت کنید، زیرا آنها میتوانند براساس نیازهای وبسایت و محیط میزبانی شما را راهنمایی کنند.
خطای اتمام حافظه وردپرس چیست؟
PHP یک زبان برنامه نویسی سمت سرور بوده و وردپرس براساس آن پیادهسازی شده است. برای اینکه PHP به درستی کار کند، هر وبسایتی به یک ارائه دهنده میزبان وردپرس نیاز دارد. وب سرورها مانند هر دستگاه دیگری عمل میکنند. آنها برای اجرای همزمان چندین برنامه به طور موثر به حافظه نیاز دارند. به برنامههای مختلف در WP مقادیر متفاوتی از محدودیت حافظه توسط مدیران سرور اختصاص داده شده است.
هنگامی که وردپرس اجرا میشود، برای انجام وظایف مختلف مانند پردازش قالبها، پلاگینها و اجرای اسکریپتهای PHP به مقدار مشخصی حافظه (RAM) نیاز دارد. به طور پیش فرض، وردپرس محدودیتی برای میزان حافظهای که مورد استفاده قرار میگیرد. اگر وبسایت شما از این حد فراتر رود، با «خطای Memory Exhausted Error» مواجه خواهید شد و اینجاست که به فکر افزایش حافظه PHP میافتید. این خطاها بصورت زیر است:
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 2348617 bytes) in /home4/xxx/public_html/wp-includes/plugin.php on line xxx
یا
Fatal error: Allowed memory size of 41943040 bytes exhausted fatal error allowed memory size WordPress
“اندازه حافظه مجاز از حد خود فراتر رفته” در وردپرس چیست؟
پیغام خطای “اندازه حافظه مجاز از حد خود فراتر رفته” در وردپرس نشان میدهد که سایت از محدودیت حافظه اختصاص داده شده به آن فراتر رفته است. هر سایت وردپرسی دارای یک محدودیت حافظه از پیش تعریف شده است که مقدار حافظهای که PHP میتواند در حین اجرای اسکریپتها استفاده کند را محدود میکند.
هنگامی که یک اسکریپت، مانند یک افزونه یا یک قالب وردپرس، سعی میکند حافظه بیشتری از حد مجاز اختصاص دهد، این خطا رخ میدهد. پیام خطا معمولاً شامل اندازه خاصی از حافظه است که تمام شده. به عنوان مثال، پیام خطا ممکن است به شکل زیر باشد:
محدودیت حافظه وردپرس پی اچ پی چقدر است؟
همانطور که گفتیم PHP زبان برنامه نویسی سمت سرور بودده که صفحات HTML وبسایت را ایجاد میکند. PHP یک زبان برنامه نویسی همه کاره و پویا است که میتواند عملکرد و محاسبات وردپرس را پردازش کند، اما برای انجام این کار به حافظه نیاز دارد. میزان حافظه پیشفرض وردپرس ۳۲ مگابایت است، اما اگر نیاز به افزایش آن داشته باشید، طبیعی است. به عنوان مثال، ووکامرس نیازمند حافظه ۶۴ مگابیت است.
چگونه محدودیت حافظه php در وردپرس را از بین ببریم؟
حال نوبت به آن رسیده تا با افزایش حافظه PHP به بارگذاری موارد بیشتر در سایت کمک کنیم. سه گزینه وجود دارد که میتوانید برای رفع خطاهای حافظه وردپرس Exhausted و افزایش ظرفیت حافظه و محدودیت آپلود در وردپرس استفاده کنید. با هم به بررسی کامل این سه گزینه میپردازیم.
۱- ویرایش فایل wp-config.php
از آنجایی که حافظه wp-config.php حاوی اطلاعات پیکربندی اولیه است، یکی از فایلهای ضروری برای یک وبسایت وردپرسی است. در دایرکتوری روت سیستم فایل wp شما قرار دارد.
برای ویرایش حافظه و محدودیتهای آپلود در فایل حافظه wp-config.php به دنبال خط زیر بگردید:
define(‘WP_MEMORY_LIMIT’, ’64M’);
مقدار را به یک حد بالاتر، مانند «128M» یا «256M» تغییر دهید. فایل را ذخیره کرده و بررسی کنید که آیا خطا برطرف شده است یا خیر. توجه داشته باشید که برخی از میزبانها ممکن است حداکثر حافظهای را که میتوانید اختصاص دهید، محدود کنند، بنابراین ممکن است نتوانید آن را به مقدار دلخواه بالا تنظیم کنید.
define(‘WP_MEMORY_LIMIT’, ‘128M’);
بهترین روش برای افزایش حافظه PHP ویرایش wp config.php است. با این حال، اگر هنوز دچار این خطا هستید، ممکن است لازم باشد دوباره آن را افزایش دهید. اما این عدد را خیلی بالا انتخاب نکنید زیرا دچار مشکل میشوید.
۲- ویرایش فایل PHP.ini
اگر تغییر فایل wp-config.php مشکل را حل نکرد، باید در تنظیمات سرور خود با مشکل مقابله کنید. روش افزایش محدودیت حافظه PHP ممکن است در این مرحله حل شود. فایل php.ini به احتمال زیاد در پوشه روت یا public_html موجود است. حال که آن را یافتید عملیات زیر را انجام دهید:
- فایل php.ini خود را بیابید یا پیدا کنید. اگر نمیتوانید آن را پیدا کنید، به سادگی میتوان یک فایل php.ini ساخت و آن را در روت ذخیره کرد.
- فایل php.ini را به حالت ویرایش درآورید.
- به دنبال خطی بگردید که میگوید “محدودیت حافظه = 32M”.
- 32M یا تعداد دیگری را به حد دلخواه تغییر دهید (به عنوان مثال 256M یا 512M).
- پس از ذخیره تغییرات، لوکال هاست یا سایت خود را رفرش کنید.
توجه: اگر فایل php.ini خود را ساختهاید، باید خط زیر را به آن اضافه کنید:
memory_limit = 256M (or 512M)
در موارد خاص، با پیشروی در لیست از خط یک به خط سه، مقادیری که اضافه میکنید میتوانند بزرگتر شوند. “memory limit” باید بزرگترین باشد، در حالی که “upload max filesize” باید کمترین باشد. و “post max size” باید میانه باشد. قبل از بررسی اینکه آیا خطا ناپدید شده است یا خیر، کوکیهای مرورگر را پاک کنید.
۳- ویرایش فایل htaccess.
اگر به PHP.ini دسترسی ندارید، باید فایل htaccess. را به عنوان آخرین راه حل ویرایش کنید. از آنجایی که این یک فایل مخفی است، فایل htaccess. با یک علامت شروع میشود. در اینجا جزئیاتی وجود دارد که باید به فایل htaccess. خود اضافه کرده تا محدودیت حافظه وردپرس را افزایش دهید:
php_value memory_limit 256M
php_value upload_max_filesize 12M
php_value post_max_size 13M
اگر قبلاً تنظیم نشده است، ظرفیت حافظه PHP را افزایش دهید. برای افزایش حافظه PHP میتوانید از کد زیر استفاده کنید:
ini_set(‘memory_limit’, ‘512M’);
However, it only works for the file where it is written.
افزایش حافظه PHP
پیکربندی سرور و مقابله با خطاهای مهلک افزایش محدودیت حافظه در وبسایت وردپرسی میتواند اعصاب خردکن باشد. روشی که باید دنبال کنید معمولا به شرکت میزبانی که انتخاب میکنید بستگی دارد، به همین دلیل است که تتهیه یک هاست قابل اعتماد بسیار مهم است. با این حال، افزایش محدودیت حافظه وردپرس برای وبسایت از طریق فایل wp-config سادهترین روشی است که میتوانید روی آن حساب کنید، دو روش دیگر میتوانند بعد از روش اول مورد بررسی قرار گیرند.
نویسنده بهاره کوهستانی
سایر مقالات نویسندهبهاره کوهستانی یک نویسنده و کارشناس حرفهای در حوزه وردپرس است که با چندین سال تجربه، مقالات آموزشی و راهنماهای کاربردی متعددی را برای کاربران منتشر کرده است. مطالب او به کاربران کمک میکند تا با بهرهگیری از ابزارها و تکنیکهای نوین، سایتهای خود را به سطح بالاتری ارتقا دهند.