در روزهای اخیر تماس ها و تیکت های زیادی داشتیم مبنی بر پر شدن هاست های وردپرس. وقتی موضوع رو بررسی میکردیم برمیخوردیم به یه موضوع عجیب: پر شدن دیوانه وار فایل error_log هاست.
خب چند نکته رو باید بهتون بگیم:
۱) در هاست های وردپرسی cPanel، فایل error_log توی مسیر اصلی خود هاست یعنی public_html نگهداری میشه. پس پر شدن error_log در هاست های وردپرس cPanel مساوی است با پر شدن خود هاست.
روی دایرکت ادمین اینطوری نیست و error_log خارج از محیط هاست نگهداری میشه. ضمن اینکه تنظیمات ما روی سرورهای دایرکت ادمین اشتراکی به شکلیه که هر شب فایل error_log ریست میشه چون برای همه هاست ها یک فایل error_log تولید میشه و باید حتما خالیش کرد و گرنه بعد یه مدت بوم! سرور میترکه. واسه همین فقط دارندگان هاست وردپرس cPanel این مشکل رو حس کردند.
۲) ریشه این مشکل در نحوه پردازش تعاملات درونی بعضی پلاگین ها و تم ها با هسته وردپرس هست. اما کدوم پلاگین و کدوم تم؟ ما به این مورد رسیدیم:
WordPress-seo
ممکنه موارد یگه ای هم باشن که چنین خرابکاری ای میکنند اما در مورد هاست های اشتراکی مون – یعنی شما مشتریان عزیز – ما به ایشون رسیدیم.
۳) نحوه رفع: اگه سریع برید و پلاگین رو غیرفعال کنید ممکنه بعد ببینید: ای دل غافل! هنوز هاست پر میشه! بله چون پلاگین ها و تم های دیگه ای حضور دارن که گند بزنن به وردپرس ما. پس باید دنبال یه راهکار فنی تر باشیم. به روش زیر عمل کنید:
در خط ۲۹۱ ام فایل:
/public_html/wp-includes/class-wp-hook.php
داریم:
} while ( false !== next( $this->iterations[ $nesting_level ] ) );
این خط رو کلا به مقدار زیر تغییر بدید:
} while ( is_array( $this->iterations[ $nesting_level ] ) && false !== next( $this->iterations[ $nesting_level ] ) );
تمام!
حتما میپرسید یعنی خدایا یا این کار مشکل پر شدن ساعت به ساعت هاست حل میشه؟؟ میگید نه امتحان کنید. شده ما راهکار غلط بهتون بدیم؟ هر کی بگه شده کلا سرویسش لغو میشه آیپیشم بلاک میشه. اینجور آدمای جالبی هستیم ما.
با ما در تماس باشید. اون عزیزانی که پیش ما هاست دارن طی امروز و فردا مشکلشون با این راهکار حل میشه. اگر بازم نتونستید با ما در تماس باشید:
هیچ نظری وجود ندارد