it-swarm-eu.dev

Jak mohu zastavit aplikaci WordPress, aby mě vyzvala k zadávání informací FTP při provádění aktualizací?

Jak mohu zastavit aplikaci WordPress, aby mě vyzvala k zadávání informací FTP při provádění aktualizací?

29
artlung

Pokud upravíte svůj soubor wp-config.php, můžete tyto nastavení FTP přednastavit jako konstanty čtené programem WordPress. Mějte na paměti, že na sdíleném hostiteli byste měli mít na paměti možné bezpečnostní důsledky. Viz Editacewp-config.php pro více informací.

Vaše nastavení se bude lišit, ale tato práce pro mě a můj hosting nastavení. Zahrnula jsem některé nevyužité konstanty:

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

Zkontrolujte vlastnictví souboru. Když uživatel, který Apache běží, může zapisovat do adresářů wordpressu, pak integrovaný proces upgradu funguje pouze bez ftp. Přihlašovací údaje FTP jsou určeny pro případ, že webový server nemá správné soubory ve vašich souborech, takže aplikace wordpress vás vyzve k zadání podrobností o FTP. soubory, které potřebuje.

12
pixeline

Zdá se, že WordPress nejenže kontroluje, zda jsou adresáře zapisovatelné, ale také kontroluje, zda je adresář ApacheOWNSadresáře (nebo alespoň pokud uživatel Apache vlastní dočasný soubor, který vytvoří). Sledujte tyto řádky kódu v souboru /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);
}

Takže, rychlým řešením bude vydat tento příkaz a dát vlastnictví celé instalace Wordpress Apache:

Sudo chown -R www-data wordpress/

Kde www-data je uživatel Apache, a samozřejmě wordpress je vaše WordPress instalační složka.

Dále jsem své řešení zdokumentoval zde: https://ardeearam.wordpress.com/2013/02/03/solved-wordpress-asking-for-ftp-credentials-when-upgrading/

5
Ardee Aram

Když jsem jemně doladil Apache 2.4 přes EasyApache4 pro zlepšení rychlosti načítání stránek na serveru Centos 7 PHP7, měl jsem povolen mod_pagespeed. Při jeho povolení se automaticky vypne mod_ruid2 a mod_cgi (a povolí další dva moduly). Když deaktivujete mod_pagespeed, nebude mod_ruid2 automaticky znovu povolen - znovu povolí pouze mod_cgi. Bez mod_ruid2 Wordpress bude požadovat pověření FTP.

Není třeba tvrdý kód wp-config.php nebo nastavit oprávnění k souborům (nebezpečně) na 777. Stačí zapnout mod_ruid2 ručně, restartovat Apache a problém FTP/soubor oprávnění je vyřešen. Wordpress a pluginy lze nyní aktualizovat jako obvykle a média nahraná do galerie Wordpress. Funguje to hned.

Jen jsem zkontroloval, že při přechodu z MPM Prefork na Worker bude mod_ruid2 vypnut. Když se vrátíte z Worker na Prefork, nepovolí mod_ruid2, což způsobí problém popsaný v tomto příspěvku.

V obou případech je klíčem zkontrolovat a povolit mod_ruid2.

Doufám, že to pomohlo.

1
itmonitor