دو مورد از خطاهای رایج در وردپرس خطای محدودیت حافظه یا PHP Memory Limit و خطای حداکثر حجم آپلود یا Maximum Upload است، در این مقاله قصد داریم به شما نحوه افزایش محدودیت حافظه PHP وردپرس را نشان دهیم.

اگر دارای یک سایت با مطالب و موضوعات زیادی هستید و همواره در حال افزودن و اسکریپت های متفاوت هستید دیر یا زود با این دو خطا مواجه خواهید شد، در واقع ساده ترین راه برای رفع این محدودیت ها تماس با پشتیبانی هاست است اما در صورتی که بخواهید خودتان این کار را انجام دهید تا انتهای این مقاله با ما همراه باشید.

در مقاله “افزایش محدودیت حافظه در وردپرس ( PHP Memory Limit )” ما چندین روش کاربردی و امتحان شده را به شما نشان می دهیم تا با اضافه کردن تنها چند خط کد محدودیت های اعمال شده را برطرف کنید.

منظور از محدودیت حافظه PHP در وردپرس چیست؟

PHP یک زبان سمت سرور، پویا و قدرتمند است که می تواند کارهایی از قبیل محاسبات، پردازش داده های وردپرس و … را انجام دهد. این زبان برای انجام موارد ذکر شده به یک حافظه نیاز دارد.

حافظه پیشفرض برای وردپرس 32 مگابایت است، اما به طور معمول این مقدار کافی نیست برای مثال افزونه WooCommerce به 64 مگابایت نیاز دارد. وقتی وردپرس شما به حداکثر میزان استفاده از حافظه PHP برسد شما با پیغام خطا مواجه خواهید شد، پیغامی مشابه خط زیر:

Fatal error: Allowed memory size of xxxxxx bytes exhausted

می توان گفت 128 مگابایت برای اکثر سایت ها مناسب باشد مگر اینکه از افزونه هایی با مصرف بالا استفاده شود. برای اینکه بدانید هر افزونه به چه میزان از حافظه PHP نیاز دارد افزونه Server IP & Memory Usage Display را نصب کنید.

هنگامی که این افزونه را نصب کردید می توانید افزونه های دیگر را غیر فعال کنید تا ببینید چه تاثیری بر میزان حافظه دارند. افزونه های استاندارد باید به طور کارامد از حافظه استفاده کنند.

چرا وردپرس برای شروع به حافظه بیشتری نیاز دارد؟

یکی از راه های افزایش محدودیت حافظه PHP وردپرس، ویرایش فایل wp-config.php است. اما باید مراقب باشید گاه افزایش حافظه PHP می تواند باعث اختلالاتی شود. در واقع به جای افزایش محدودیت حافظه PHP وردپرس به شما پیشنهاد می کنیم ابتدا ببینید که چه چیزی باعث این خطا می شود.

دقت کنید اگر شما از افزونه ها و قالب استاندارد استفاده نکنید، ممکن است در ابتدا با افزایش محدودیت حافظه PHP وردپرس مشکل حل شود، اما در آینده مطمئنا سایت شما کند خواهد شد که خود موجب افزایش هزینه ها و همچنین تجربه ای ناخوشایند برای مخاطبان سایت شما خواهد بود.

آمار نشان داده است که فقط 4.4٪ از وب سایت ها از آخرین نسخه PHP استفاده می کنند. این آمار نشان می دهد نه تنها بسیاری از سایت ها با مشکلات امنیتی مواجه هستند بلکه از سرعت به مراتب پایین تری برخوردارند.

آخرین نسخه PHP تقریبا 3 برابر سریع تر از نسخه 5.6 است بنابراین ارتقا نسخه PHP به بروزترین نسخه خود به تنهایی می تواند عاملی برای رفع مشکل شما باشد.

منظور از حداکثر حجم آپلود یا حداکثر سقب بارگذاری در وردپرس چیست؟

شما می توانید فایل هایی از جمله تصاویر فایل های ویدیویی و غیره را در وردپرس بارگذاری کنید. حال بسته به میزبان شما حجم بارگذاری دارای محدودیت هایی است، عکس زیر را مشاهده کنید:

محدودیت حجم بارگذاری وردپرس افزایش محدودیت حافظه PHP وردپرس ( PHP Memory Limit )
در اینجا حداکثر حجم بارگذاری 1 مگابایت است.

این تنظیمات توسط سرور انجام میگیرد تا از بارگذاری فایل های پر حجم جلوگیری کند. اگرچه این به نفع میزبان شماست اما مسلما برای شما نیز مفید خواهد بود، دقیقا همانند محدودیت حافظه PHP به شما پیشنهاد می کنیم که قبل از اعمال تغییرات در حداکثر حجم بارگذاری سرور به فکر بهینه سازی محتوا و رسانه های خود باشید.

افزایش محدودیت حافظه PHP وردپرس

در صورتی که قصد افزایش حافظه را دارید، 3 روش برای افزایش محدودیت حافظه PHP وردپرس وجود دارد اما مهم است که قبل از انجام، و اعمال هرگونه تغییری از سایت و دیتابیس خود یک نسخه پشتیبان تهیه کنید تا اگر سایت شما با مشکلی مواجه شد بتوانید نسخه قبل را بازگردانی کنید.

ویرایش فایل wp-config.php

در روش اول همانطور که در ابتدای مقاله نیز به این مورد اشاره شد برای افزایش محدودیت حافظه PHP وردپرس از فایل wp-config.php استفاده کنید. برای اینکار شما باید وارد مدیریت فایل هاست خود شده و این فایل را ویرایش کنید. اگر با ویرایش فایل در هاست آشنایی ندارید می توانید مقاله آموزشی نحوه ویرایش فایل ها در هاست را مطالعه نمایید.

فایل wp-config.php را باز کنید و کد زیر را قبل از خط /* That's all, stop editing! Happy publishing. */ وارد کنید. مقدار 256 را می توانید به میزان مورد نیاز خود تغییر دهید به طور معمول همانطور که در ابتدای مقاله اشاره شد 128 مگابایت که مقدار استاندارد است.

define ('WP_MEMORY_LIMIT'، '256M')؛
افزایش محدودیت حافظه PHP وردپرس - wp-config.php

ویرایش فایل php.ini

در صورتی که افزایش محدودیت حافظه PHP وردپرس با ویرایش فایل wp-config.php اعمال نشد، باید فایل php.ini را ویرایش کنید. اگر از هاست اشتراکی استفاده می کنید به php.ini دسترسی نخواهید داشت.

در صورتی که به این فایل دسترسی داشته باشید به احتمال زیاد php.ini در شاخه اصلی و البته به صورت مخفی شده قرار خواهد داشت. برای افزایش محدودیت حافظه PHP وردپرس از طریق فایل php.ini ابتدا باید فایل را از طریق Show hidden Files آشکار کنید و بعد خطوط زیر را پیدا و ویرایش کنید.

memory_limit = 256M
upload_max_filesize = 12M
post_max_size = 13M
file_uploads = On
max_execution_time = 180

در کد های بالا باید memory_limit دارای بیشترین مقدار و upload_max_filesize باید دارای کمترین مقدار باشد. مقدار post_max_size نیز باید میانه باشد. آخرین مورد یعنی max_execution_time برای محدودیت در اجرای یک اسکریپت PHP بر حسب ثانیه است. در اینجا اگر اجرای یک اسکریپت PHP از 180 ثانیه بیشتر طول بکشد، اسکریپت به طور خودکار متوقف خواهد شد.

نکته: قبل از اینکه بررسی کنید که آیا خطای محدودیت حافظه از بین رفته است یا نه، کش مرورگر خود را پاک کنید.

ویرایش فایل htaccess

در صورتی که به php.ini دسترسی نداشته باشید آخرین راه برای شما استفاده از فایل .htaccess است، این فایل یکی از مهمترین فایل ها در هاست شما است که از طریق آن می توانید تغییرات زیادی را در پیکربندی سرور خود اعمال کنید. اگر به اطلاعات بیشتری در خصوص .htaccess نیاز دارید مقالات زیر را مطالعه نمایید.

این فایل در شاخه اصلی سایت شما قرار دارد، برای افزایش محدودیت حافظه PHP وردپرس کدهای زیر را به htaccess اضافه کنید:

php_value memory_limit 256M
php_value upload_max_filesize 12M
php_value post_max_size 13M

و تمام! افزایش محدودیت حافظه PHP وردپرس به درستی انجام گرفت.

جمع بندی

در این آموزش سعی کردیم روش های افزایش محدودیت حافظه PHP وردپرس و افزایش حداکثر حجم آپلود فایل را به شما نشان دهیم، همانطور که در ابتدای مقاله به این موضوع اشاره شد، بهتر است تنظیماتی که مربوط به پیکربندی سرور است را از طریق ارتباط با پشتیبانی هاست اعمال کنید.