WordPress fragt nach FTP-Anmeldeinformationen für das Upgrade

Lesezeit: 3 Minuten

Benutzer-Avatar
Chathuraka

Ich habe zwei WordPress-Blogs. Einer befindet sich auf einem gemeinsam genutzten Server und der andere auf einem dedizierten Server. Wenn ich WordPress auf dem dedizierten Server aktualisiere, werde ich aufgefordert, FTP-Details einzugeben. Wenn ich WordPress auf meinem gemeinsam genutzten Server aktualisiere, werde ich nicht aufgefordert, FTP-Details einzugeben. Kennt jemand den Grund dafür?

Kann ich WordPress in solchen Situationen vertrauen?

Es fragt nach FTP-Anmeldeinformationen, da WordPress wahrscheinlich keine Schreibberechtigung für Ihren WordPress-Stammordner hat. Daher versucht es, ein wp-Upgrade über FTP durchzuführen. Um das zu beheben, gehen Sie in Ihren Stammordner der WordPress-Site und führen Sie sie aus;

sudo chown -R www-data:www-data wordpress

  • Dies ist jedoch wahrscheinlich ein größeres Sicherheitsrisiko, als WP Ihr FTP-Passwort zu geben, da der Webserver jetzt die PHP-Dateien ändern kann. Riskant, wenn jemand eine Schwachstelle in einem Skript findet.

    – ceejayoz

    25. April 2014 um 2:57 Uhr

  • @ceejayoz Danke für deinen Kommentar. Wenn Sie versuchen, etwas im wp-Admin-Panel zu installieren oder zu aktualisieren, versucht wp normalerweise, es über http (wget oder curl) abzurufen. Wenn Ihr wp-Ordner nicht von WordPress-Benutzern beschreibbar ist, versucht es die zweite Chance, indem es nach dem FTP-Benutzernamen-Passwort fragt, um Dateien per FTP auf den gewünschten Pfad zu legen. Wahrscheinlich hat der Benutzer keine normale Installation auf dem Server durchgeführt, den Ordner mit einem anderen Benutzer kopiert/eingefügt. Die Wp-Site funktioniert mit dem WordPress-Benutzer (Standard). Wenn Sie dem WordPress-Benutzer einfach eine Genehmigung erteilen, wird das Problem behoben.

    – Hüseyin BABAL

    25. April 2014 um 5:31 Uhr

  • Wie es funktioniert ist mir sehr wohl bekannt. Der Punkt ist jedoch, dass, wenn der Webserver zum Eigentümer der Dateien gemacht wird, der Webserver sie ändern kann, was ein potenzielles Sicherheitsrisiko darstellt, dessen sich die Benutzer bewusst sein sollten.

    – ceejayoz

    25. April 2014 um 14:50 Uhr


Versuchen Sie, diese Zeile am Ende Ihrer hinzuzufügen wp-config.php Datei:

define('FS_METHOD','direct');

Es setzt die Direkte Methode und aktualisieren Sie, ohne nach FTP-Anmeldeinformationen zu fragen.

WordPress fragt nach Ihren FTP-Anmeldeinformationen, wenn es keinen Schreibzugriff auf alle benötigten Ordner hat. Es ist eine irreführende Fehlermeldung – sie sollte wirklich nur sagen „Bitte geben Sie mir Schreibrechte für Ihren Stammordner, während ich dieses Upgrade durchführe“.

Dieses Problem tritt besonders häufig bei IIS-Benutzern auf, bei denen die Berechtigungen/Benutzerkonten etwas geheimnisvoller sind.

Im Wesentlichen, um es zu lösen:

  • Geben Sie Ihrem Anwendungspoolbenutzer (häufig IUSR für Windows-Benutzer) Schreib- und Änderungsrechte für den Stammordner Ihrer WordPress-Installation.
  • Führen Sie das automatische Upgrade über das WordPress-Dashboard aus, was jetzt schön und einfach passieren sollte.
  • Entfernen Sie die Schreib-/Mod-Privilegien von IUSR, um Ihre Installation wiederherzustellen (stellen Sie sicher, dass sie immer noch in Ihr Plugin-Verzeichnis schreiben kann).

Ja, Sie können WordPress vertrauen. Diese Situation ist ein Problem mit den Festplattenberechtigungen, wie von @HüsseyinBABAL gesagt. Es kann mit einigen Konstanten in überschrieben werden wp-config.php wie gesagt von @povieira.

Aber es gibt mehr als FS_METHOD. Alle FTP-Anmeldeinformationen können in der Konfigurationsdatei mit festgelegt werden WordPress-Upgrade-Konstanten:

define( 'FS_METHOD', 'ftpext' );
define( 'FTP_BASE', '/path/to/wordpress/' );
define( 'FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/' );
define( 'FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/' );
define( 'FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub' );
define( 'FTP_PRIKEY', '/home/username/.ssh/id_rsa' );
define( 'FTP_USER', 'username' );
define( 'FTP_PASS', 'password' );
define( 'FTP_HOST', 'ftp.example.org' );
define( 'FTP_SSL', false );

Um die Sicherheit zu erhöhen, habe ich normalerweise meine /home/user/public_html/wp-config.php Einbinden einer Datei außerhalb des öffentlichen Ordners:

<?php
include('/home/user/configs/wp-config-site1.php');

1298940cookie-checkWordPress fragt nach FTP-Anmeldeinformationen für das Upgrade

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy