حل مشكلة عرض اتصال FTP ووردبريس 3.3 والنسخ السابقة


مصنفة في قسم  : مشاكل وحلول
كتبت بتاريخ  : 26 ديسمبر 2011
عدد المشاهدات  : 
عدد التعليقات  : 11 تعليق 

حل مشكلة عرض اتصال FTP ووردبريس 3.3 والنسخ السابقة

السلام عليكم ورحمة الله وبركاته

اليوم معنا حل لمشكلة يعاني منها الكتير من اصحاب المدونات وهي عرض صفحة اتصال ftp عندي محاولة تركيب اضافة او قالب و ايضا عند ترقية المدونة . في الحقيقة كنت اود ان اقوم بالبحث عن حل لهذه المشكلة منذ مدة لكن لم تسمح لي الفرصة وبينما اتصفح منتدى الدعم الفني في ووردبريس وجدت الاخ wilf وقع في هذه المشكلة فعرضت عليه ان اقوم تجربة طريقة ربما تنفع معه فقبل المساعدة مع انه غامر فهو لا يدري عني شيء واحسست بهذا من رسالته لكن هذا احسن شيء الواحد يعرف مع من يتعامل قبل ان يقع الفأس في الرأس المهم ندخل في صلب الموضوع بدون كترت كلام وتحية خاصة للاخ Wilf

المشكلة

صندوق حوار الترقية للوردبريس

حسب ما قرات في هذه المقالة Why WordPress Asks for Connection Info أن المشكلة تكمن في عدم قدرة إنشاء ملف مؤقت من قبل المستخدم وهذا راجع لصلاحيات المالك المحدودة (owner)  أي أن السكريب او الشخص الذي قام بانشاء هذا الملف ليست له صلاحيات بانشاء هذا الملف المؤقت والله اعلم  (لا تلومني اخوكم لم ادرس انجليزي ولا يهم يحزنون 🙂 المهم اني افهم شوية في المجال) وفي هذه الحالة ملفات ووردبريس المسؤولة عن انشاء الملفات المؤقة حسب طبيعة التركيب والترقية هي :

wp-admin/theme-install.php
wp-admin/plugin-install.php
wp-admin/upgrade.php

اما بالنسبة للملف المسؤول عن هذه المشكلة هو wp-admin/includes/file.php و بالضبط في الكود التالي :

if( function_exists('getmyuid') && function_exists('fileowner') ){
$temp_file = wp_tempnam();
if ( getmyuid() == fileowner($temp_file) )
$method = 'direct';
unlink($temp_file);
}

الشيء الذي جنني هو لماذا الاستضافات العربية مع احترامي لها تمنع مثل هذه الدالة getmyuid والله شيء يجنن صراحة السيف مود هو سبب اغلب المشاكل في ووردبريس وقد تم انتقاده في الاصدارات الاخيرة من php5 وان شاء الله سيتم التخلص منه عن قريب في الاستضافات العربية

من وجهت نظري انه يتم تعطيل بعض الدوالة الخطرة مثل dl و exec وغيرها من الدوال الخطرة التي تمكن المخترق من تنفيد اوامر مباشرة لنظام. ولا أخفي عليكم  السيف مود يمكن تخطيه حتى لو تم تعطيل جميع الدوال يكيف ان تسمح الاستضافة برفع htaccess وسيتم تخطي السيف مود بكل بساطة (لن ادخل في موضوع ليس لنا به شأن وهو كيفية التخطي وانا هنا اعطي تلميحات فقط ) واذا ما سمحت الاستضافة باستعمال ال htaccess فهذه الاستضافة لا تصلح لا لووردبريس ولا لأي سكريبت اخر وانما تصلح لمواقع تستعمل صفحات html ثابتة بدون php ولا قواعد بيانات لهذا انا نصحت في تدوينة سابقة عن كيفية اختيار افضل استضافة لوردبريس باستعمال الاستضافات التالية HostGator و BlueHost لكفائتهم العالية وعدم تفعيل السيف مود وحماية رائعة لن اقول عنها قوية لانه لا توجد حماية قوية لدى الاستضافات المشتركة بطبيعة الحال لاسبباب كتيرة يطول شرحها هنا

المهم الكود اعلاه يستعمل اربعة انواع لنقل الملفات الى المكان المخصصة لها من مجلد tmp بدون مشاكل الصلاحيات. على فكرة ووردبريس في هذه الحالة يستعمل wp-content كمجلد tmp والانواع كالتالي :

Direct, SSH2, FTP PHP Extension, FTP Sockets

ما يهمنا هنا بالنسبة للاستضافات المشتركة الطريقتين Direct و FTP التي يمكن استعمالها. المهم الان ننتقل الى الحلول كي لا اطيل عليكم

الحل

هنا سنستعمل احدى الطرق التي ذكرنا لنقل الملفات بدون مشاكل التصريحات

بالنسبة لطريقة Direct تستعمل فقط اذا عرض عليك اتصال FTP وقمت بادخال المعلومات ولم يحدث شيء ولا تستعملها اذا كنت تدخل معلومات ال FTP ويتم التركيب والترقية بشكل سليم

كل ما عليك هو فتح ملف wp-config.php واضافة السطر التالي :

define('FS_METHOD', 'direct');

اذا لم تنجح قم بانشاء مجلد باسم tmp داخل مجلد wp-content وقم باعطائه التصريح 777 او 775 واضف السطر التالي الى ملف wp-config.php

define('WP_TEMP_DIR', ABSPATH . 'wp-content/tmp');

مع انه فقط ستحاتاج الى اضافة الكود الاول فقط عن تجربة بالنسبة للاصدار الاخير

بالنسبة لطريقة FTP نستعملها فقط اذا كان بالامكان اتمام عملة الترقية بعد اضافة كلمة المرور والباسورد عند عرض صفحة الاتصال اذا كنت لا ترغب بعرض هذه الصفحة

اولا يجب عليك حماية ملف wp-config.php لانك ستضع به معلومات ftp وهذا نوعا ما فيه شيء من الخطورة لكن يمكن حماية الملف باضافة الكود التالي الى htaccess

<Files wp-config.php>
 order allow,deny
 deny from all
 </Files>

بعد ذالك قم باضافة الكود التالي الى ملف wp-config.php :

define('FS_METHOD', 'ftpsockets');
define('FTP_USER', 'username');
define('FTP_PASS', 'password');
define('FTP_HOST', 'ftp.example.org');

وستختفي تلك الصفحة ان شاء الله عند تركيب او ترقية اي اضافة او قالب وايضا ترقية المدونة

المهم بالنسبة للحل الاول تم طرحه في هذه التدوينة Direct plugin auto-update on WordPress 2.8

حل ثاني باضافة

في هذا الحل استعملت اضافة FTP Upgrade Fix لانه لم استطع تعطيل الوضع الامن وعلى ما اظن ان حساب الاخصاحب موقع  ابداع فون لم يتم تفعيل php.ini في حسابه فقمت بتجريب الطريقة الاولى لم تنفع كانت تظهر الرسالة التالية :

جاري تحميل حزمة التنصيب من http://downloads.wordpress.org/plugin/reliable-twitter.2.2.zip…

جاري فك ضغط الحزمة …

لم أتمكن من إنشاء الدليل. /home/user/public_html/wp-content/upgrade/reliable-twitter.tmp

بالنسبة لطريقة الثانية عن طريق ftp كانت تاخد وقت طويل وفي الاخر تعرض رسالة بفشل التنصيب بالشكل التالي :

جاري تحميل حزمة التنصيب من http://downloads.wordpress.org/plugin/gd-simple-widgets.zip…

جاري فك ضغط الحزمة …

جاري تنصيب الإضافة …

أرشيف غير متوافق.

فشلت محاولة تنصيب الإضافة.

المهم في هذه الحالة نقوم بتركب الاضافة FTP Upgrade Fix بالطريقة العادية عن طريق Cpanel او FTP بعد تركيبها و تفعيلها ستعرض عليك رسالة بالشكل التالي :

You are running WordPress 3.2.1 which doesn’t need the FTP Upgrade Fix plugin. You can deactivate and delete the plugin.

لا تهتم لرسالة لاننا حقا نحتاج هذه الاضافة مع استضافاتنا العربية مع احترامي لهم  وقم بتحرير ملف wp-config.php واضف الكود التالي فقط :

define('FTP_USER', 'username');
define('FTP_PASS', 'password');
define('FTP_HOST', 'ftp.example.org'); // يمكنك استعمال localhost

وغير المعلومات الى حساب FTP الخاص بك وستنحل المشكلة ان شاء الله

خاتمة

صراحة استغربت لهذه المشكلة تم طرح الحل منذ الاصدار 2.8 ولم يتحدث عنها اي احد مع العلم اني قمت ببحث بسيط في متتدى عرب ووردبريس. الى هنا انتهينا من هذه المشكلة اتمنى ان تكون حل مفيدا لكم والى اللقاء في تدوينة اخرى باذن الله

اخوان المرجوا المساعدة في نشرة التدوينة لتصل لاكبر عدد من الذين يعانون من المشكلة فالله وحده يعلم كم من واحد يعاني من هذه المشكلة ولا تنسوا الدعاء للوالد الله يرحمه والوالدة بالشفاء

اذا كان هناك اي استفسار يرجى وضع تعليق ولا تنسى الاشتراك في قائمتنا البريدية ولك جزيل الشكر 🙂

والسلام عليكم ورحمة الله وبركاته

حل مشكلة عرض اتصال FTP ووردبريس 3.3 والنسخ السابقة بواسطة مجلة ووردبريس, يمكنك نقل ومشاركة التدوينة مع ذكر المصدر الأصلي للموضوع ، مع رابطه, والتدوينة مرخصة بموجب المشاع الابداعي Creative Commons A-NC-SA 3.0.

الوسوم : , , , , , , , , , , , , , , ,


عدد التعليقات على هذه التدوينة : 11 تعليق

  1. TaizGate ديسمبر 26th, 2011

    جزاك الله خير اخي معاذ وان شاء الله موفق في حياتك العملية .

    ^_^

    • معاذ ديسمبر 26th, 2011

      اللهم امين وانت ايضا اخي العزيز

  2. فهد ديسمبر 31st, 2011

    مشكور على الشرح اخوي
    ولكن اذكر اني حليت هذه المشكله من منتدى عرب وورد بريس بخطوه واحده لا اذكر بالضبط ولكن اعتقد اضفت ملف uploads واعطيته تصريح 777 والغيت السؤال الامني…. قد اكون مخطئ بالملف ولكن متأكد الطريقة كانت تافهه وبسيطه وبحاول اجيب الطريقة ان شاء الله بأقرب فرصه

    شرحك طويل بارك الله فيك

    • معاذ ديسمبر 31st, 2011

      العفو اخي العزيز
      الظاهر انك علقت على الموضوع الخطاء هذه المشكلة لا تنحل بواسطة اعطاء تصريح 777 لمجلد uploads ربما كنت تقصد تدوينة حل مشكلة رفع الملفات على العموم اخي بارك الله فيك

  3. berhoum يناير 2nd, 2012

    السلام عليكم ورحمة الله تعالى وبركاته
    نعم مشكلة كبيرة خاصة في النسخة الأخيرة .. وحلها كما وضعت أنت
    وضع الكود
    define(‘FS_METHOD’, ‘direct’);
    في ملف الكونفيق .. بعد السطر

    define('NONCE_SALT',       '-dY&amp;C[DId/!Px$8ptR[ZUlBQP~,B&gt;q|C#}5d9z-ml`5iVxl`Z+^&gt;*?Cn9fu|&amp;w1h');
    

    أو قبل السطر

    define('AUTH_KEY',         ';bSx%~ULpIscSsIuDe#11NF=&gt;MNe[Rz6cxO 4oPWJwB{bqlF58r(tCFXJ9$p?7hf');
    

    لتحميل النسخة العربية الآمنة والتي ينجح فيها هذا الحل البسيط
    الموقع العربي التابع للموقع الرسمي لمدونة WordPress
    http://ar.wordpress.org/

    بالتوفيق ونشكر الأخ معاذ على تقديمه هذا الحل غير المتوفر في الساحات العربية بشكل كبير

    • معاذ يناير 3rd, 2012

      وعليكم السلام ورحمة الله وبركاته
      العفو اخي berhoum
      لكن على فكرة يمكن وضع الكود في اي مكان تريد شرط ان يكون بعد الوسم الاول

      <?php 

      او قبل الاخير

      ?>

  4. berhoum يناير 3rd, 2012

    طبعا أعرف ذلك .. فماهو إلا تعريف لثابت
    لكن ذكرت ذلك من باب التنظيم ليكون مع الأسطر المشابهة له

    • معاذ يناير 3rd, 2012

      مشكور اخي العزيز berhoum وفهمت ما تقصد
      الله يحفظك

  5. berhoum يناير 3rd, 2012

    كل الشكر لك على مواضيعك أخ معاذ
    ننتظر كل جديد في عالم وورد بريس .. خاصة في مجال ( إعداد مدونة محمية بقالب جميل )
    سيكون ذلك مفيد .. خاصة للجدد في مجال الوورد بريس

    وفقك الله

  6. نديم عاشور يناير 13th, 2012

    شكرا لك لقد نجحت الطريقة الثانية و اللتي تعمل باضافة

    • معاذ يناير 17th, 2012

      العفو اخي العزيز نديم


  • مجلة الوردبريس
    يناير 17th, 2012




1. المرجوا الابتعاد عن كتابة تعليقات بنمط (يعطيك العافية)، (روعة)، (ممتاز)، (مشكوووور)، (ابداع).

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