در روزهای اخیر تماس ها و تیکت های زیادی داشتیم مبنی بر پر شدن هاست های وردپرس. وقتی موضوع رو بررسی میکردیم برمیخوردیم به یه موضوع عجیب: پر شدن دیوانه وار فایل 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 ] ) );

تمام!

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