يعمل ملحق برنامج موقع cPanel على تعطيل التحديثات التلقائية لـ WordPress

نشرت: 2015-05-15

منذ أكثر من شهرين بقليل ، نشر Derek Munson ، الذي يستخدم اسم المستخدم Drumology2001 ، موضوعًا في منتديات دعم WordPress.org. أثناء إجراء الصيانة على العديد من مواقع WordPress على خادمه الافتراضي الخاص ، اكتشف Munson عددًا منها يشغل إصدارات قديمة. تراوحت الإصدارات من 3.9 إلى 4.1 مع موقع واحد على الأقل يستخدم WordPress 3.9.2.

اعتدت على رؤية "تذمر" في الجزء العلوي من الشاشة مما يتيح لي معرفة أن هناك إصدارًا أحدث متاحًا. لا أرى ذلك في أي من هذه المواقع التي ليست في الإصدار الأحدث (4.1.1). عندما أذهب إلى Dashboard> Updates وانقر فوق "Check Again" لفرض فحص يدوي ، فإنه لا يزال يتصرف كما لو أن كل شيء محدث بينما من الواضح أنه ليس كذلك.

في البداية ، اعتقد مونسون أن All in One WP Security and Firewall كان يحظر إشعارات التحديث. أكد Mbrsolution ، المطور الرئيسي للمكون الإضافي ، أنه لا يحظر إشعارات التحديث. بعد الانتهاء من عدد من تقنيات استكشاف الأخطاء وإصلاحها التي اقترحها المتطوعون في منتدى دعم WordPress ، قام Munson بتثبيت Wordfence Security ، وهو مكون إضافي للأمان في WordPress.

إحدى ميزات Wordfence الجديرة بالملاحظة هي الماسح الضوئي الخاص به. يقارن ملفات WordPress الأساسية النظيفة بتلك الموجودة على الخادم ويبلغ المستخدم إذا اكتشف اختلافًا. تظهر نتائج الفحص أنه تم تغيير ثلاثة ملفات.

wp-admin / يشمل / update.php
wp-admin / update-core.php
wp-admin / include / class-wp-Upgrader.php

تم تغيير هذه الملفات فقط على مواقع WordPress التي تم تثبيتها باستخدام ملحق برنامج موقع cPanel.

ملف Update.php الخاص بـ WordPress .
function get_core_updates( $options = array() ) { $options = array_merge( array( 'available' => true, 'dismissed' => false ), $options ); $dismissed = get_site_option( 'dismissed_update_core' );

ملف update.php الخاص بـ cPanel .
function get_core_updates( $options = array() ) { # cPanel override: Disable all core updates to prevent conflict with cPAddons. return false; $options = array_merge( array( 'available' => true, 'dismissed' => false ), $options );

ملف update-core.php الخاص بـ WordPress .
function core_upgrade_preamble() { global $wp_version, $required_php_version, $required_mysql_version; $updates = get_core_updates();

ملف update-core.php الخاص بـ cPanel .
function core_upgrade_preamble() { # cPanel override: Do not display the current or the latest version, because we've disabled updates. return; global $wp_version, $required_php_version, $required_mysql_version; $updates = get_core_updates();

ملف ووردبريس class-wp-Upgrader.php.
public function is_disabled() { // Background updates are disabled if you don't want file changes. if ( defined( 'DISALLOW_FILE_MODS' ) && DISALLOW_FILE_MODS ) return true;

ملف class-wp-Upgrader.php الخاص بـ cPanel .
public function is_disabled() { return true; // Force this functionality to disabled because it is incompatible with cPAddons. // Background updates are disabled if you don't want file changes. if ( defined( 'DISALLOW_FILE_MODS' ) && DISALLOW_FILE_MODS ) return true;

تعمل الشفرة التي تمت إضافتها بواسطة cPanel على تعطيل تحديثات WordPress الأساسية وإشعارات التحديث وتحديثات الخلفية التلقائية لإصدارات النقطة. بمجرد استعادة Munson لهذه الملفات إلى نسختها الأصلية ، عملت التحديثات التلقائية والإشعارات بشكل صحيح.

cPanel و cPAddons

أولئك الذين يديرون خوادم مخصصة أو خوادم افتراضية خاصة باستخدام cPanel لديهم القدرة على استخدام cPAddons. وفقًا لوثائق cPanel ، "الإضافات هي تطبيقات تعمل مع cPanel لأداء وظائف لمواقع الويب الخاصة بالمستخدمين. تتضمن أمثلة هذه التطبيقات لوحات الإعلانات وعربات التسوق عبر الإنترنت والمدونات ".

فتح حوار مع cPanel

وصف جورج ستيفانيس ، المساهم الأساسي في WordPress والمطور الرئيسي لـ Jetpack علنًا إجراءات cPanel بأنها ممارسة سيئة.

شاهد ممثل cPanel التغريدة ورد بأنه يرغب في الحصول على مزيد من المعلومات.

https://twitter.com/cpanelcares/status/597886956945711107

شارك Stephanis في محادثة مطولة مع ممثلي cPanel موضحًا سبب عدم تعطيل التحديثات الأساسية فكرة سيئة. تقوم cPanel بتعطيل نظام التحديث الأصلي لـ WordPress لأنه قد يتسبب في تعارض مع إصدار برنامج موقع cPanel من WordPress.

نصدر بشكل عام أحدث إصدار من WordPress في غضون يوم إلى 5 أيام من آخر تحديث لـ WordPress. كحد أدنى ، يتم إبلاغ مسؤولي الخادم كل ليلة بجميع تطبيقات برامج الموقع التي تحتاج إلى تحديث. الأمر متروك للمستخدمين لتهيئة إشعاراتهم داخل cPanel لتلقي هذه التحديثات.

الطريقة التي تتبعها أداة cPAddons لتتبع البرنامج غير متوافقة مع طريقة تحديث WordPress ، ولهذا السبب نقوم بتعطيل التحديثات التلقائية حتى نتمكن من تتبعها من خلال cPAddons.

تستمر cPanel في شرح كيفية معالجة التحديثات للبرامج المثبتة باستخدام برنامج الموقع cPAddon.

  • عندما تصدر WP بنية الصيانة التي تعالج مخاوف الأمان ، فإننا نتفاعل بسرعة كبيرة لتحديث برنامجنا ليكون متاحًا للعملاء.
  • بشكل افتراضي ، نحدد أن البرنامج الذي تتم إدارته / تثبيته من خلال cPAddons يتم تحديثه تلقائيًا عند توفر تحديث جديد.
  • استنادًا إلى المعلومات الواردة أعلاه ، إذا ترك مسؤول الخادم الإعدادات الافتراضية ممكّنة ، فبمجرد أن يقدم WP إصدار صيانة يصحح مخاوف الأمان وقمنا باختبار مصدرنا وتحديثه ، سيتلقى العملاء الإصدار تلقائيًا.
  • إذا قرر مسؤول الخادم تعطيل تحديثات البرامج التلقائية ، فسيظل المستخدم النهائي ومسؤول الأنظمة يتلقى إعلامات تفيد بأن التثبيت الخاص بهم قديم مصحوبًا بخطوات حول كيفية تحديث التطبيق الخاص بهم.

بشكل افتراضي ، يتم تكوين البرنامج المثبت بواسطة cPanel ليتم تحديثه تلقائيًا ولكن لم يتم تحديث بعض مواقع Munson. كما أنه لم يتلق إشعارات التحديث لتلك المواقع. تعتقد cPanel أن هناك شيئًا خاطئًا في تكوين خادم Munson وتعهدت بالاتصال به لمعرفة المزيد من المعلومات.

بناءً على ما ذكره موقع Drumology2001 في المنتدى ، يبدو أن هناك شيئًا ما غير صحيح على هذا الخادم. نود فحص هذا الخادم لتحديد سبب عدم توفر تحديثات WordPress للمستخدم.

استنادًا إلى التواريخ المبهمة المستخدمة في المنتدى ومقارنتها بسجلاتنا الداخلية ، كان التحديث 4.1.1 متاحًا لنظام برامج الموقع قبل النشر الأولي. سنتواصل معه لتحديد ما إذا كان هناك أي شيء يمكننا القيام به هناك.

تقبلا للتغيير

الخبر السار هو أن cPanel سريع الاستجابة ومستعد لإجراء أي تغييرات ضرورية لتحسين عملية التحديث. بالنظر إلى عدد شركات الاستضافة على الويب التي تقدم للعملاء القدرة على تثبيت WordPress باستخدام مثبت بنقرة واحدة ، فمن المهم أن تتلقى المواقع التحديثات في أقرب وقت ممكن.

إذا قمت بتثبيت WordPress من خلال مثبت cPanel بنقرة واحدة ، فتحقق للتأكد من أن موقعك يعمل على WordPress 4.2.2 وهو أحدث إصدار مستقر.