آموزش های وردپرس

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

همونطور که میدونید سیستم مدیریت محتوای وردپرس بر اساس زبان برنامه نویسی PHP ساخته شده است. حالا در این زبان برنامه نویسی که سمت سرور هست برای اجرای دستورات و کارهایی که قراره روی سایت صورت بگیره نیاز به حافظه‌ای برای ذخیره و اجرای صحیح دستورات داریم. برای همین دلیل میزبانی‌های وب یک میزان خاصی را برای این حافظه در نظر می‌گیرند که معمولا 128 یا 256 هست. حالا برای وردپرس حالتی که پیش میاد اینه که اگر این میزان حافظه کمتر از 64 مگابایت باشه، وردپرس به صورت خودکار سعی میکنه تا این محدودیت حافظه PHP را افزایش بده که در صورت پایین پودن این میزان خطایی به شکل زیر در سایت نمایش داده خواهد شد.

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /home/xxx/public_html/wp-includes/plugin.php on line xxx

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

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

دلیل مواجه شدن با محدودیت حافظه php در وردپرس میتونه به خاطر استفاده بیش از حد افزونه‌ها یا قالب وردپرس از حافظه تخصیص داده شده در هاست باشه که در مقاله آموزش رفع مشکل استفاده زیاد از منابع CPU در وردپرس اشاره‌ای به این مورد داشتم. در این صورت با خطایی که در بالا اشاره شد مواجه خواهید شد و یا اینکه پیغام Internal Server Error در وبسایت شما نمایش داده می‌شود.

افزایش محدودیت حافظه php در وردپرس و از بین بردن محدودیت آپلود در وردپرس

در صورتی که با خطای Internal Server Error یا fatal error هنگام ورود به پیشخوان وردپرس مواجه شدید میتونید با استفاده از فایل htaccess. این مشکل را به راحتی برطرف کنید. برای این منظور وارد هاست خودتون شده و روی گزینه File Manager کلیک کنید تا به صفحه مدیریت فایل‌ها در هاست هدایت شوید. سپس به مسیر public_html مراجعه کرده و به دنبال فایل htaccess. بگردید و بعد از راست کلیک کردن روی فایل گزینه Edit را انتخاب کنید. در صورتی که این فایل به شما نمایش داده نشد روی دکمه Settings کلیک کرده و سپس در پنجره باز شده مثل تصویر زیر گزینه show hidden files را انتخاب کنید. در نهایت دکمه save را انتخاب کنید تا تنظیمات اعمال شود.

افزایش محدودیت حافظه php در وردپرس و از بین بردن محدودیت آپلود در وردپرس

بعد از اینکه صفحه ویرایش فایل براتون باز شد قطعه کد زیر را به فایل اضافه کرده و روی دکمه save کلیک کنید تا تغییرات در اون ذخیره بشه.

در صورتی که در هاست خودتون فایل htaccess. را پیدا نکردید و وجود نداشت کافیه با استفاده از برنامه‌های ویرایشگر متن مثل notepad یک فایل با نام htaccess. بسازید. یا اینکه در همین مسیر public_html روی گزینه New File کلیک کرده و یک فایل با همین نام ایجاد کنید.
php_value memory_limit 128M

بعد از این مرحله اگر محدودیتی از طرف میزبانی اعمال نشده باشه کد بالا براتون کار ساز بوده و به راحتی میتونید خطا را برطرف کنید. اما اگر به روش بالا باز نشد، در همون مسیر public_html هاست به دنبال فایل wp-config.php وردپرس بگردید و بعد از راست کلیک روی فایل و انتخاب گزینه Edit کدهای زیر را در فایل اضافه کنید.

define('WP_MEMORY_LIMIT','128M');

دقت کنید که کدهای فوق را در بخشی که کدهای define قرار داره، یعنی درست قبل از خط That’s all, stop editing! Happy blogging اضافه کنید. بعد از ذخیره فایل خواهید دید که مشکل محدودیت در حافظه پی‌اچ‌پی برطرف خواهد شد.

امیدوارم که این آموزش هم مورد توجه و پسند شما قرار گرفته باشه و با استفاده از اون تونسته باشید خطای محدودیت حافظه php را در وردپرس برطرف کنید. در صورتی که در رابطه با این آموزش و نحوه افزایش حافظه پی‌اچ‌پی سوال یا مشکلی داشتید در بخش دیدگاه‌ها اعلام کنید تا در کوتاه‌ترین زمان ممکن پاسخگوی شما باشم.
3.9/5 - (15 امتیاز)

علی یزدان پرست

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

‫۲۴ دیدگاه ها

  1. باسلام.وقت بخیر. برای وردپرس و اختصاصا کار با قالب آوادا چه نسخه ای از پی اچ پی رو پیشنهاد میکنید؟
    با توجه به اینکه وردپرس رو نصب کردم و ساخت سایت رو هم تاحدودی پیش بردم اگر در حین فعالیتهام نسخه پی اچ پی رو عوض کنم یا اکستنشن های مورد نیازم رو فعال یا غیر فعال کنم مشکلی برای وردپرس یا سرعت سایت یا هر مورد دیگری بوجود میاد؟
    باید از ابتدای نصب وردپرس و ساخت سایت نسخه پی اچ پی و اکستنشن های مورد نظر رو فعال میکردم؟ باتشکر.

    1. سلام و وقت بخیر،
      در حال حاضر بهترین نسخه php برای استفاده 5.6 هست. اما اگر افزونه‌ها و کدنویسی قالب از نسخه 7 پشتیبانی می‌کنند میتونید از این نسخه برای بهره بردن از سرعت بالاتر استفاده کنید.
      برای تغییر نسخه php در هر زمان که اقدام کنید مشکلی به وجود نمیاد.

  2. سلام وقت بخیر. افزونه ای هست که بشه لینک فایل php زیر رو در ناحیه ابزارک وردپرس و یا در صفحه نوشته و برگه وردپرس اجرا کرد و نمایش داد؟ ببخشید زمانی زیادی تا آموزش ifttt باقی مونده؟ باتشکر.

    1. سلام روزبخیر؛
      بله یکی از مواردی که باعث بروز خطای 500 میشه همین محدودیت های php هستش.

  3. سلام و وقت بخیر، من این راه هایی که عرض نمودین انجام دادم ولی بازم همون خطارو دارم با اینکه هم 128M و 256M را امتحان کردم ولی بازهم همون خطارو دارم ممنون میشم اگه راهنمایی کنین.
    باتشکر.

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

    1. سلام روزبخیر؛
      اروری مبنی بر پر بودن فضا دریافت میکنید؟
      فضای خالی هاستتون چقدر هست؟
      بررسی کنید اگه مشکل از کمبود فضا بود فایل های زائد مثل قالب و افزونه های بلااستفاده، بکاپ های منسوخ، فایل های ارور لاگ حجیم قدیمی و… رو حذف کنید.

  5. با سلام
    تو قسمت نمایش همه محصولات محدودیت نمایش در هر صفحه رو روی مقدار 1000 گذاشتم, بعد از اون دیگه با اون اکانت کاربری صفحه نمایش همه محصولات باز نمیشه و تایم اوت میده, با افزایش محدودیت php هم مشکلم حل نشد
    راهی هست ک این مشکل رو حل کنم؟

    1. سلام و احترام؛
      به جز محدودیت حافطه یک محدودیت زمانی هم داریم که با افزایش اون مقدار می تونید مشکلتون رو رفع کنید.
      به زودی اموزشش رو در بلاگ منتشر می کنیم.

  6. سلام هنگام اسکن کردن وردپرس بابرنامه وردفنس این ارور رامیدهد

    the current scan looks like it has failed.its lasr statusupdate was 8mins ago.you may countinue to wait resumes or stop and restart the scan.some sites may need adjustments to run scans reliably

    1. سلام روزبخیر؛
      در بخش تنظیمات این افزونه گزینه ای تحت عنوان “Time limit that a scan can run in seconds” وجود داره که در واقع سقفی برای مدت زمان اسکن سایت تعیین میکنه و اگر زمان اسکن از این بازه زمانی فراتر بره، اسکن متوقف میشه برای همین دو راه حل دارید: یا مقدار داخل این فیلد رو افزایش بدید دقت کنید این مقدار بر اساس ثانیه هستش. یا اینکه کلا فیلد رو خالی بذارید تا هیچ بازه و محدودیت زمانی در نظر گرفته نشه.
      همچنین می تونید تعیین کنید که بخش های مختلف جداگانه بررسی بشن یا برخی بخش ها بررسی نشه تا سرعت اسکن بالاتر بره. در کل اروری که مشاهده کردید مربوط به تنظیمات و بازه زمانی و محدودیت تعریف شده هستش.

  7. سلام من روی ویندوز سرور هاست ایجاد کردم وردپرس نصب کردم توی قالبم از افزونه و مطالبی گرافیکی زیادی استفاده کردم،یک مشکلی برام ایجاد شده دیگه افزونه روی قالب نصب نمیشه و نمیشه افزونه جدیدی به سایتم اضافه کنم چطوری میشه محدودیت حافظه php رو کلا بر دارم؟(از بابت سخت افزار رم و سی پی یو و هارد دستم کاملا بازه)

  8. سلام وقت بخیر بنده قالب آوادا از سایت تم فارست رو روی سایت آپلود کردم حالا موقع نصب دمو رو آپلود نمیکنه و ارور میده محدودیت های php سایت خود را افزایش بدید منظورش حجم آپلود و پسته بنده هم اونا رو افزایش دادم ولی همچنان اون ارور رو میده.هاست این سایت 1000 مگابایت از ***.

    اما وقتی روی سایت خودم که از هاست XZN 2000مگابایت هست آپلود میکنم دمو بطور کامل آپلود میشه با همون مقدار PHPسایت قبلی حالا نمیدونم چرا روی سایت قبلی آپلود نمیشه با اینکه حجم زیادی هم نمیگیره

    به نظر شما چطور میتونم مشکل رو برطرف کنم؟؟

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

  9. درود
    کدی که برای wp-confing گذاشتید کار نمیکند و دلیل آن کوچک بودن حروف wp است
    کد اکنون : define(‘wp_MEMORY_LIMIT’,’128M’);
    کد صحیح : define(‘WP_MEMORY_LIMIT’,’128M’);
    لطفاً بررسی کنید.
    با تشکر.

  10. سلام وقت بخیر..ضمن تشکر از آموزشتون،تمامی مراحلی ک در رابطه با افزایش memory limit بود رو انجام دادم،هر دو فایل بصورت جداگانه،اما بعداز لود کردن تغییری نمیکنه
    ممنون میشم راهنماییم بفرمائین.

  11. سلام. من یک مشکل بزرگ با وردپرسم دارم. وقتی میخوام یک پست جدید ایجاد کنم گزینه های منوی سمت راست مثل تصاویر فیچر، لیست تگ ها و کتگوری نشون داده نمیشه. باید مدام صفحه رو ریفرش کنم تا شاید یکی رو لود کنه بیاد. مشکل از کجاست؟ ممنون میشم راهنمایی بفرمایید.

  12. دوستانی ک کد رو میزنن و مشکلشون حل نمیشه بالا و پایین کد رو فاصله بزارید یعنی دقیقا پشت خط That’s all, stop editing! Happy blogging نباشه با یه خط فاصله قرارش بدین به این شکل:

    define(‘WP_MEMORY_LIMIT’,’128M’);

    That’s all, stop editing! Happy blogging

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *