حل مشكلة عرض اتصال FTP ووردبريس 3.3 والنسخ السابقة
السلام عليكم ورحمة الله وبركاته
اليوم معنا حل مشكلة عرض اتصال FTP التي يعاني منها الكتير من اصحاب المدونات وهي عرض صفحة اتصال ftp عندي محاولة تركيب اضافة او قالب و ايضا عند ترقية المدونة . في الحقيقة كنت اود ان اقوم بالبحث عن حل لهذه المشكلة منذ مدة لكن لم تسمح لي الفرصة وبينما اتصفح منتدى الدعم الفني في ووردبريس وجدت الاخ wilf وقع في هذه المشكلة فعرضت عليه ان اقوم تجربة طريقة ربما تنفع معه فقبل المساعدة مع انه غامر فهو لا يدري عني شيء واحسست بهذا من رسالته لكن هذا احسن شيء الواحد يعرف مع من يتعامل قبل ان يقع الفأس في الرأس المهم ندخل في صلب الموضوع بدون كترت كلام وتحية خاصة للاخ Wilf
المشكلة : عرض اتصال FTP عند تركيب اضافات او قوالب
حسب ما قرات في هذه المقالة 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 وان شاء الله سيتم التخلص منه عن قريب في الاستضافات العربية
المهم الكود اعلاه يستعمل اربعة انواع لنقل الملفات الى المكان المخصصة لها من مجلد tmp بدون مشاكل الصلاحيات. على فكرة ووردبريس في هذه الحالة يستعمل wp-content كمجلد tmp والانواع كالتالي :
Direct, SSH2, FTP PHP Extension, FTP Sockets
ما يهمنا هنا بالنسبة للاستضافات المشتركة الطريقتين Direct و FTP التي يمكن استعمالها. المهم الان ننتقل الى الحلول كي لا اطيل عليكم
حل : مشكلة عرض اتصال 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
حل 2 : مشكلة عرض اتصال FTP
في هذا الحل استعملت اضافة 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 بعد تركيبها و تفعيلها ستعرض عليك رسالة بالشكل التالي :
لا تهتم لرسالة لاننا حقا نحتاج هذه الاضافة مع استضافاتنا العربية مع احترامي لهم وقم بتحرير ملف wp-config.php واضف الكود التالي فقط :
define("FTP_USER", "username"); define("FTP_PASS", "password"); define("FTP_HOST", "ftp.example.org"); // يمكنك استعمال localhost
وغير المعلومات الى حساب FTP الخاص بك وستحل المشكلة ان شاء الله
خاتمة
صراحة استغربت من مشكلة تم طرح الحل منذ الاصدار 2.8 ولم يتحدث عنها اي احد مع العلم اني قمت ببحث بسيط في منتدى عرب ووردبريس ولم اجد شيء. الى هنا انتهينا من هذه المشكلة اتمنى ان تكون حل مفيدا لكم والى اللقاء في تدوينة اخرى باذن الله
والسلام عليكم ورحمة الله وبركاته
التعليقات - حل مشكلة عرض اتصال FTP ووردبريس 3.3 والنسخ السابقة : 11 تعليق