سایت شما در اینترنت داخلی کُند شده یا بالا نمی‌آید؟ بومی‌سازی و احیای اورژانسی
صفحه اصلی > آموزش رفع خطای Fatal Error افزونه WP Rocket در وردپرس 7.1

آموزش کامل رفع خطای Fatal Error افزونه WP Rocket در وردپرس 7.1

آموزش رفع خطای Fatal Error افزونه WP Rocket در وردپرس 7.1
توسط elixweb-admin 0 دیدگاه 1405/05/29 - 21:04

اگر شما هم به تازگی سایت خود را به وردپرس نسخه 7.1 بروزرسانی کرده‌اید و ناگهان با صفحه سفید مرگ (White Screen of Death) یا خطای مهلک (Fatal Error) مواجه شده‌اید و دسترسی‌تان به پیشخوان وردپرس کاملاً قطع شده است، اصلاً نگران نباشید. شما تنها نیستید!

بر اساس گزارش‌های رسمی در تاریخ 19 آگوست 2026، یک تداخل جدی بین هسته جدید وردپرس (نسخه 7.1) و افزونه محبوب کش وردپرس یعنی WP Rocket به وجود آمده است که باعث از کار افتادن کامل وب‌سایت می‌شود. خبر خوب این است که راه حل قطعی این مشکل منتشر شده است.

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

شرح دقیق مشکل؛ چه اتفاقی در وردپرس 7.1 افتاده است؟

افزونه WP Rocket (موشک وردپرس) یکی از قدرتمندترین ابزارهای بهینه‌سازی سرعت سایت است. با انتشار نسخه 7.1 وردپرس، تغییراتی در نحوه پردازش داده‌ها ایجاد شد که با یکی از فایل‌های ادغام‌سازی کلودفلر (Cloudflare) در افزونه راکت تداخل پیدا کرد.

اگر حالت دیباگ (WP_DEBUG) سایت شما روشن باشد یا به فایل لاگ سرور (Error Log) مراجعه کنید، احتمالاً با خطاهایی مشابه کدهای زیر مواجه می‌شوید:

An error of type E_ERROR was caused in line 562 of the file
.../wp-content/plugins/wp-rocket/inc/ThirdParty/Plugins/CDN/Cloudflare.php. PHP Fatal error: Uncaught TypeError: substr(): Argument #1 ($string)
must be of type string, int given in
.../wp-content/plugins/wp-rocket/inc/ThirdParty/Plugins/CDN/Cloudflare.php:562

همان‌طور که از متن خطا پیداست، سیستم در فایل Cloudflare.php افزونه راکت دچار تداخل در تشخیص نوع داده‌ها (Type Error) شده و در نتیجه پردازش کدهای سایت متوقف می‌شود. این مشکل باعث قفل شدن کامل پیشخوان وردپرس (بخش ادمین) می‌شود.

راه حل نهایی چیست؟ (نصب نسخه 3.23.2.2)

تیم توسعه‌دهنده WP Rocket بلافاصله پس از دریافت این گزارش‌ها (ایشو شماره #8596 در گیت‌هاب)، نسخه 3.23.2.2 را به عنوان پچ اصلاحی منتشر کرد.

بنابراین هدف نهایی ما این است که افزونه WP Rocket را به نسخه 3.23.2.2 بروزرسانی کنیم. اما مشکل اینجاست که شما به دلیل خطای Fatal Error اصلاً نمی‌توانید وارد پیشخوان وردپرس شوید تا دکمه آپدیت را بزنید!

راه چاره چیست؟ ما باید با استفاده از روش‌های موقت (Workarounds)، افزونه راکت را برای چند دقیقه از کار بیندازیم تا سایت بالا بیاید، وارد پیشخوان شویم و سپس آپدیت را انجام دهیم. در ادامه 4 روش برای این کار معرفی کرده‌ایم:

4 راهکار موقت برای ورود به سایت و آپدیت افزونه

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

روش اول: تغییر نام پوشه WP Rocket از طریق هاست (بهترین و سریع‌ترین روش)

وقتی دسترسی به پیشخوان قطع می‌شود، بهترین راهکار استفاده از کنترل پنل هاست (cPanel، دایرکت ادمین) یا نرم‌افزارهای FTP است. با تغییر نام پوشه افزونه، وردپرس آن را پیدا نکرده و موقتاً غیرفعال می‌کند.

مراحل انجام کار:

  1. وارد مدیریت فایل (File Manager) هاست خود شوید.
  2. به مسیر نصب وردپرس یعنی پوشه public_html بروید.
  3. مسیر /wp-content/plugins/ را دنبال کنید تا به لیست افزونه‌های سایت برسید.
  4. پوشه‌ای به نام wp-rocket را پیدا کنید.
  5. روی آن راست‌کلیک کرده و Rename (تغییر نام) را انتخاب کنید.
  6. نام آن را به wp-rocket-off تغییر دهید.
  7. نتیجه: حالا سایت خود را رفرش کنید. می‌بینید که سایت بدون مشکل بالا می‌آید و خطای سفید از بین رفته است.
  8. گام نهایی: وارد پیشخوان وردپرس شوید. افزونه WP Rocket قبلی به دلیل تغییر نام غیرفعال شده است. حالا کافی است نسخه 3.23.2.2 افزونه راکت را دانلود کرده و روی سایت نصب کنید. (پس از نصب نسخه جدید، می‌توانید پوشه قبلی یعنی wp-rocket-off را از هاست پاک کنید).

روش دوم: استفاده از حالت ریکاوری وردپرس (Recovery Mode)

وردپرس قابلیتی به نام حالت بازیابی دارد که در مواقع بروز خطاهای کشنده بسیار به کمک مدیران سایت می‌آید.

  1. هنگامی که سایت قطع می‌شود، وردپرس به صورت خودکار یک ایمیل هشدار به ایمیل مدیر کل سایت ارسال می‌کند (با موضوع “سایت شما با مشکل فنی روبرو شده است”).
  2. ایمیل خود را چک کنید. در انتهای این ایمیل یک لینک امن و یکتا برای ورود به حالت ریکاوری وجود دارد.
  3. روی آن لینک کلیک کنید تا وارد پیشخوان وردپرس شوید.
  4. در این حالت، وردپرس به صورت هوشمند افزونه WP Rocket را موقتاً مکث (Pause) می‌کند.
  5. گام نهایی: حالا که وارد پیشخوان شده‌اید، به بخش افزونه‌ها بروید و WP Rocket را به نسخه 3.23.2.2 ارتقا دهید. پس از آپدیت، از حالت ریکاوری خارج شوید.

روش سوم: استفاده از فایل کمکی (Drop-in Helper)

تیم WP Rocket برای کاربرانی که می‌خواهند بدون دستکاری افزونه‌ها سایت را بالا بیاورند، یک فایل کمکی ارائه کرده است. این فایل به صورت خودکار تداخل را خنثی می‌کند تا بتوانید وارد سایت شوید.

  1. در کامپیوتر خود یک فایل متنی ساده (Text Document) بسازید و نام آن را دقیقاً wp-rocket-cloudflare-intkey-fix.php بگذارید.
  2. کدهای فیکس رسمی راکت را (که از پشتیبانی راکت قابل دریافت است) درون آن قرار دهید.
  3. وارد File Manager هاست شوید و به مسیر /wp-content/ بروید.
  4. پوشه‌ای به نام mu-plugins را پیدا کنید (اگر وجود ندارد، خودتان دقیقاً با همین نام یک پوشه بسازید).
  5. فایلی که ساختید را در پوشه mu-plugins آپلود کنید.
  6. سایت را رفرش کنید؛ مشکل برطرف شده و می‌توانید وارد پیشخوان شوید.
  7. گام نهایی: حالا که پیشخوان در دسترس است، افزونه اصلی را به نسخه 3.23.2.2 بروزرسانی کنید و سپس فایلی که در پوشه mu-plugins آپلود کرده بودید را پاک کنید.

روش چهارم: دانگرید یا بازگردانی وردپرس به نسخه قبل

اگر به هر دلیلی نتوانستید نسخه جدید افزونه راکت را نصب کنید، آخرین راهکار موقت برای بالا آوردن سایت، بازگردانی وردپرس از نسخه 7.1 به نسخه 7.0 است. شما می‌توانید با بازگردانی آخرین بکاپ (فایل پشتیبان) هاست خود که مربوط به قبل از زمان آپدیت وردپرس است، سایت را به وضعیت پایدار برگردانید. (توجه: پس از بازگردانی بکاپ، ابتدا افزونه WP Rocket را به نسخه 3.23.2.2 آپدیت کنید و پس از آن با خیال راحت وردپرس سایت را به 7.1 ارتقا دهید).

چرا ویرایش کدهای افزونه پیشنهاد نمی‌شود؟

شاید در برخی مقالات آموزشی به شما پیشنهاد دهند که فایل Cloudflare.php را باز کنید و کدهای مربوط به خط 562 را به صورت دستی تغییر دهید. ما اکیداً این روش را توصیه نمی‌کنیم! ویرایش دستی کدهای PHP هسته یک افزونه:

  • ریسک بالایی دارد و یک اشتباه کوچک (مثل پاک شدن یک نقطه ویرگول) کل سایت را از بین می‌برد.
  • با اولین آپدیت بعدی افزونه، تمام کدهایی که نوشته‌اید بازنویسی شده و تغییرات شما از بین می‌رود. بهترین و اصولی‌ترین کار، استفاده از روش “تغییر نام پوشه” (روش اول) و سپس نصب پچ رسمی توسعه‌دهنده (نسخه 3.23.2.2) است.

جلوگیری از رخ دادن مجدد خطاهای مشابه

مشاهده خطای مهلک تجربه تلخی است، اما با رعایت 2 قانون طلایی می‌توانید در آینده از کسب و کار آنلاین خود محافظت کنید:

  1. بکاپ‌گیری قبل از هر آپدیت: همیشه قبل از بروزرسانی هسته وردپرس یا افزونه‌های حساس مثل سیستم‌های کش و فروشگاه‌سازها، یک فول‌بکاپ (Full Backup) کامل تهیه کنید.
  2. صبر در آپدیت‌های بزرگ: وقتی یک آپدیت بزرگ (مثل تغییر ورژن از 7 به 7.1) منتشر می‌شود، عجله نکنید. معمولاً چند روز طول می‌کشد تا افزونه‌های جانبی خود را با ساختار جدید وردپرس هماهنگ کنند. اجازه دهید دیگران باگ‌ها را کشف کنند و شما نسخه پایدارتر را نصب کنید.

نتیجه‌گیری

خطای عدم سازگاری افزونه WP Rocket با وردپرس 7.1 یک مشکل موقتی و مربوط به ماژول کلودفلر در این افزونه بود. اگر پیشخوان وردپرس شما قفل شده است، کافی است از طریق هاست نام پوشه افزونه WP Rocket را تغییر دهید تا دسترسی شما به سایت بازگردد.

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

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

تیم الیکس وب در کنار شماست

دسته بندی: آموزش ها

Reply