it-swarm.asia

كيف يمكنني إيقاف WordPress من مطالبتي بإدخال معلومات FTP عند إجراء التحديثات؟

كيف يمكنني إيقاف WordPress من مطالبتي بإدخال معلومات FTP عند إجراء التحديثات؟

29
artlung

إذا قمت بتحرير ملف wp-config.php الخاص بك ، فيمكنك تحميل إعدادات FTP هذه مسبقًا كثوابت يقرأها WordPress. ضع في اعتبارك ، على مضيف مشترك ، يجب أن تضع في اعتبارك الآثار الأمنية المحتملة. راجع التحريرwp-config.php لمزيد من المعلومات.

ستختلف إعداداتك ، لكن هذه الإعدادات تناسبني وإعداد الإعداد الخاص بي. لقد قمت بتضمين بعض الثوابت غير المستخدمة ، مسبوقة:

define('FS_METHOD', 'direct');
define('FTP_BASE', '/usr/home/username/public_html/my-site.example.com/wordpress/');
define('FTP_CONTENT_DIR', '/usr/home/username/public_html/my-site.example.com/wordpress/wp-content/');
define('FTP_PLUGIN_DIR ', '/usr/home/username/public_html/my-site.example.com/wordpress/wp-content/plugins/');
// define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
// define('FTP_PRIKEY', '/home/username/.ssh/id_rsa');
define('FTP_USER', 'my-ftp-username');
define('FTP_PASS', 'my-ftp-password');
define('FTP_Host', 'ftp.my-site.example.com');
// define('FTP_SSL', false);
23
artlung

تحقق ملكية الملف الخاص بك. عندما يكون المستخدم الذي يعمل عليه Apache يمكنه الكتابة إلى أدلة WordPress ، فإن عملية الترقية المتكاملة تعمل جميعها دون بروتوكول نقل الملفات. بيانات اعتماد FTP مخصصة إذا كان خادم الويب لا يمتلك الامتيازات الصحيحة على ملفاتك ، ثم يطالبك Wordpress بتفاصيل FTP الخاصة بك ، ويحاول استخدام تلك الملفات لإعادة FTP إلى نفس الخادم وهو قادر على كتابة الملفات التي يحتاجها.

12
pixeline

يبدو أن WordPress لا يقتصر الأمر على التحقق مما إذا كانت الدلائل قابلة للكتابة ، بل يتحقق ما إذا كان مستخدم Apacheيمتلكالدلائل (أو على الأقل ، إذا كان مستخدم Apache يمتلك الملف المؤقت الذي يقوم بإنشائه). لاحظ سطور التعليمات البرمجية هذه في /wp-admin/includes/file.php: get_filesystem_method ():

if ( $temp_handle ) {
    if ( getmyuid() == @fileowner($temp_file_name) )
        $method = 'direct';
    @fclose($temp_handle);
    @unlink($temp_file_name);
}

لذلك ، سيكون الحل السريع هو إصدار هذا الأمر ومنح ملكية تثبيت Wordpress بالكامل إلى Apache:

Sudo chown -R www-data wordpress/

حيث www-data هو مستخدم Apache ، وبالطبع فإن Wordpress هو مجلد تثبيت WordPress الخاص بك.

لقد وثقت الحل الخاص بي هنا: https://ardeearam.wordpress.com 2013/02/03/solved-wordpress-asking-for-ftp-credentials-when-upgrading/

5
Ardee Aram

عند ضبط Apache 2.4 بدقة عبر EasyApache4 لتحسين سرعة تحميل موقع الويب في خادم Centos 7 PHP 7 ، قمت بتمكين mod_pagespeed. عند تمكينه ، سيتم تلقائيًا تعطيل mod_ruid2 و mod_cgi (وتمكين وحدتين أخريين). عند تعطيل mod_pagespeed ، لن يعيد تمكين mod_ruid2 تلقائيًا - سيعيد تمكين mod_cgi فقط. بدون mod_ruid2 سيطلب Wordpress بيانات اعتماد FTP.

ليست هناك حاجة إلى تشفير wp-config.php الثابت أو تعيين أذونات الملفات (بشكل خطير) إلى 777. فقط قم بتمكين mod_ruid2 يدويًا ، وأعد تشغيل Apache وحل مشكلة إذن FTP/ملف. يمكن تحديث Wordpress والإضافات الآن كالمعتاد وتحميل الوسائط إلى معرض Wordpress. إنه يعمل على الفور.

لقد قمت للتو بالتحقق من أنه عند التغيير من MPM Prefork إلى Worker ، فسيتم تعطيل mod_ruid2. عند الرجوع من Worker إلى Prefork ، لن يتم تمكين mod_ruid2 ، مما يسبب المشكلة الموضحة في هذا المنشور.

في كلتا الحالتين ، يكون المفتاح هو فحص وتمكين mod_ruid2.

نأمل أن يكون ساعد.

1
itmonitor