WordPress'in güncelleme yaparken FTP bilgilerini girmemi istememi nasıl durdurabilirim?


29

WordPress'in güncelleme yaparken FTP bilgilerini girmemi istememi nasıl durdurabilirim?

Yanıtlar:


23

wp-config.phpDosyanızı düzenlerseniz, bu FTP ayarlarını WordPress tarafından okunan sabitler olarak önceden yükleyebilirsiniz. Paylaşılan bir ana bilgisayarda, olası güvenlik etkilerine dikkat etmeniz gerektiğini unutmayın. Dahawp-config.php fazla bilgi için Düzenleme'ye bakın .

Ayarlarınız değişecek, ancak bunlar benim ve barındırma kurulumum için geçerli. Kullanılmayan sabitlerin bir kısmını önceden ekledim:

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);

Bu en basit yoldur, ancak pixeline aşağıda da belirtildiği gibi dosya izinlerini kontrol edin. Üç kimlik bilgilerinden ikisi veritabanında saklanır, ancak üçüncüsü bir dosyaya yazılır (hangisinin kafamın tepesinde olduğunu hatırlayamıyorum).
John P Bloch

12

Dosya sahipliğini kontrol et. Apache'nin çalıştığı kullanıcı wordpress dizinlerine yazabiliyorsa, tümleşik yükseltme işlemi sadece ftp olmadan çalışıyor. FTP kimlik bilgileri, web sunucusu dosyalarınız üzerinde doğru yetkilere sahip değilse içindir, daha sonra wordpress sizden FTP ayrıntılarınızı ister ve bunları FTP sunucusuna yazabilmek için aynı sunucuyu kullanmaya çalışır. ihtiyaç duyduğu dosyalar.


1
Bu, potansiyel bir güvenlik riski olduğu için dosya sahipliğini web sunucusununki ile değiştirmemeniz gerekir.
Otto

... kötü bir şekilde
kurulmadığı

5

Görünen o ki, WordPress sadece dizinlerin yazılabilir olup olmadığını kontrol etmiyor, aynı zamanda Apache kullanıcısının dizinleri OWNS (veya en azından Apache'nin oluşturduğu geçici dosyaya sahip olup olmadığını) kontrol edip etmediğini kontrol ediyor . Bu kod satırlarını /wp-admin/includes/file.php: get_filesystem_method () adresinde inceleyin:

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

Bu nedenle, hızlı bir çözüm bu komutu vermek ve tüm Wordpress kurulumunun Apache'ye sahipliğini vermek olacaktır:

sudo chown -R www-data wordpress/

Www-data Apache kullanıcısı ve tabii ki wordpress ise WordPress kurulum klasörünüzdür.

Çözümümü burada ayrıca belgeledim: https://ardeearam.wordpress.com/2013/02/03/solved-wordpress-asking-for-ftp-credentials-when-upgrading/


Bu bağlantı şimdi öldü. İşte bir arşiv: web.archive.org/web/20131213005955/http://rubiks.ph/…
Sam Wilson

"$ Allow_relaxed_file_ownership Optional.
Sam Wilson

@Sam Wilson Artık blog girişlerimin bir kısmını ücretsiz bir WordPress hesabına geçirdim. Eski alan öldü.
Ardee Aram,

1

Centos 7 PHP 7 sunucusundaki web sitesi yükleme hızını artırmak için Apache 2.4'ten EasyApache4'e ince ayar yaparken, mod_pagespeed'i etkinleştirdim. Etkinleştirildiğinde, mod_ruid2 ve mod_cgi'yi otomatik olarak devre dışı bırakır (ve diğer iki modülü etkinleştirir). Mod_pagespeed'i devre dışı bırakırken, mod_ruid2'yi otomatik olarak yeniden etkinleştirmez - sadece mod_cgi'yi yeniden etkinleştirir. Mod_ruid2 olmadan Wordpress, FTP kimlik bilgilerini ister.

Wp-config.php kodunu veya dosya izinlerini (tehlikeli bir şekilde) 777 olarak ayarlamaya gerek yoktur. Sadece mod_ruid2'yi manuel olarak etkinleştirin, Apache'yi yeniden başlatın ve FTP / dosya izin sorunu çözüldü. Wordpress ve eklentiler artık her zamanki gibi güncellenebilir ve Wordpress galerisine yüklenen ortamlar. Hemen çalışır.

MPM Prefork’tan İşçiye geçerken mod_ruid2’yi devre dışı bırakacağını kontrol ettim. Worker'dan Prefork'a geri dönüldüğünde mod_ruid2'yi etkinleştirmez ve bu yazıda açıklanan soruna neden olur.

Her iki durumda da, anahtar mod_ruid2'yi kontrol etmek ve etkinleştirmek içindir.

Umarım yardım etmişimdir.


-1

1) Çok genel olduğu için yukarıdaki cevaba katılmıyorum

1a) Sadece tüm dosyalarımın mülkiyetini tekrarlı bir şekilde değiştirmek istemiyorum (bir sivrisinek öldürmek için av tüfeği kullanırken). Özellikle de bu daha önce mükemmel çalışıyor.

1b) Birdenbire "sinsi" özelliğine sahip olan WordPress sizden ftp kimlik bilgilerini ister

2) Ardee Aram'ın liderliğini kullanarak daha derine kazmaya başladım. File.php dosyasını kontrol etmeye gittim ve sahipliğini kontrol ettim. File.php, (root olarak ayarlanmış) kendi sahipliğine bağlıdır.

Düzeltme: chown www file.php

NOT: Dağıtıcınız veya ayarlarınız ne olursa olsun, www'yi değiştirin (ps aux | egrep "php | http" kullanabilirsiniz ve sahipliğini ilk sütunda ne olduğunu görebilirsiniz.

Umarım bu, başkalarının bu konuda hüsrana uğramasına yardımcı olur. WordPress'in neden "şikayet etmediğini" bile anlamadım ve FTP alternatifini kullanmayı öneriyorum. Şimdi aniden ortaya çıkan bir "özellik" gibi.


WPSE'ye hoşgeldiniz. Lütfen tura katılmak için çekinmeyin . 'Yukarıdaki cevap' olarak, cevaplar insanların oylarının bir sonucu olarak herhangi bir zamanda sırasını değiştirebilir. Cevabını kastettiğini belirtmek için yazını düzenlemeni çok isterim bu yüzden açık. Düşüncelerinizi eklediğiniz için teşekkür ederiz!
Tim Malone
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.