Ich arbeite seit 2 Monaten an einer WordPress-Website, und ich habe bereits viele Bilder hochgeladen. Beim Hochladen eines Bildes wird jedoch eine Fehlermeldung angezeigt, und nach dem neuen Jahr stehe ich vor diesem Problem: - Die hochgeladene Datei konnte nicht in den WP-Inhalt/Upload verschoben werden/2015/01.
hier ist ein Screenshot: -
Ich habe gesucht und festgestellt, dass das Problem vom Serveranbieter stammt.
Normalerweise sollten sich alle Dateien im Besitz Ihres Benutzerkontos (ftp) auf Ihrem Webserver befinden und für dieses Konto schreibbar sein. Auf gemeinsam genutzten Hosts dürfen Dateien niemals dem Webserver-Prozess selbst gehören (manchmal ist dies www oder Apache oder niemand).
Jede Datei, für die ein Schreibzugriff von WordPress erforderlich ist, sollte im Besitz des von WordPress verwendeten Benutzerkontos sein (das sich möglicherweise vom Serverkonto unterscheidet). Beispielsweise haben Sie möglicherweise ein Benutzerkonto, mit dem Sie FTP-Dateien auf Ihren Server hin und her übertragen können. Der Server selbst kann jedoch mit einem separaten Benutzer in einer separaten Benutzergruppe ausgeführt werden, z. Wenn WordPress als FTP-Konto ausgeführt wird, muss dieses Konto Schreibzugriff haben, d. H. Der Eigentümer der Dateien sein oder zu einer Gruppe gehören, die Schreibzugriff hat. Im letzteren Fall würde dies bedeuten, dass Berechtigungen zulässiger als Standard festgelegt werden (z. B. 775 anstelle von 755 für Ordner und 664 anstelle von 644).
Sie können hier sehen, wie Sie die Dateiberechtigung ändern können.
Dieser Artikel erklärt und behebt das Problem sehr gut: http://2surge.com/how-to-fix-the-uploaded-file-could-not-moved-to-wp-content -Fehlermeldung
Die Grundvoraussetzung ist, dass die Identität des Prozesses, auf dem Ihr httpd/Apache/Webserver-Thread ausgeführt wird, Schreibzugriff auf Ihr Upload-Verzeichnis haben muss.
So beheben Sie das Problem:
Überprüfen Sie, unter welchem Konto Ihr Webserver läuft
Update : Unter Unix verwenden ...
ps aux | egrep '(Apache|httpd)'
... dies zeigt eine Liste von Prozessen für den Webserver zusammen mit der Identität des Prozesses, unter dem er ausgeführt wird, beispielsweise "nobody".
nobody 8718 0.1 0.4 1332864 17180 ? Sl 17:11 0:06 /usr/local/Apache/bin/httpd -k start -DSSL
Aktualisieren Sie die Berechtigung des Upload-Verzeichnisses, damit dieses Konto darauf schreiben kann.
Update : Unter Unix können Sie ...
chown -R nobody /<path to upload directory>/wp-content/upload/
Sie können auch die Berechtigungen für dieses Konto (am erforderlichen Speicherort) ändern, um sicherzustellen, dass es über Schreibberechtigungen mit chmod oder filezilla verfügt, und die Änderungen in den Verzeichnissen nach Bedarf kaskadieren.
Schauen Sie sich den verlinkten Artikel für eine detaillierte Aufschlüsselung an. Ich hoffe, das hilft! :)
Das funktioniert für mich.
$ Sudo chown -R _www uploads/
$ Sudo chmod -R g+w uploads/
Ich gehe davon aus, dass Sie sich im Verzeichnis wp-content
befinden.
Sie müssen lediglich PHP die Erlaubnis erteilen, in den Ordner uploads
zu schreiben. Dies hat für mich funktioniert:
Sudo chown -R www-data <path>/wp-content/uploads
es verfügt wahrscheinlich nicht über die Berechtigungen zum Erstellen/uploads/2015
Überprüfen Sie, ob der Ordner vorhanden ist, und prüfen Sie dann .__, ob/uploads/2015/1/vorhanden ist.
berechtigungen:
chmod 755 /uploads/2015/1/
chown www-data:www-data /uploads/2015/1/
Diese Ordner sollten die gleichen Berechtigungen wie der Ordner/uploads/haben. __ Überprüfen Sie auch das Fehlerprotokoll, da es Ihnen genau anzeigen soll, in welchem Ordner das Problem auftritt.
Das funktioniert für mich
Sudo chown -R www-data html
Angenommen, das aktuelle Verzeichnis ist www
Ubuntu 16.04, Apache2
Ich hatte auch dieses Problem und stellte fest, dass das Festplattenkontingent des Hosting-Kontos überschritten wurde.
Ich fand heraus, dass es ein altes Skript gab, bei dem Fehler protokolliert wurden, und das Fehlerprotokoll war so groß geworden, dass die verfügbare Quote gefüllt war.
Ich fand es schließlich heraus, als ich versuchte, ein neues Verzeichnis mit FTP zu erstellen, und die Serverantwort war "Festplattenkontingent überschritten".
Ich habe diesen Fehler bei einem cPanel-Hosting-Konto erhalten, bei dem das Datenträgerkontingent (für das Konto) kein Problem darstellt. Nachdem ich mich eine Weile damit befasst hatte, stellte ich fest, dass das cPanel-Tool "Select PHP Version" auf Version 7.1 eingestellt war, aber mehrere WordPress Diagnosetools Version 5 erkannten .6 lief tatsächlich und sie entdeckten auch Dateisystemprobleme.
Das Dateimanager-Tool in cPanel zeigte an, dass alle Berechtigungen korrekt waren und die Ordner beschreibbar waren.
Eines der von mir verwendeten Diagnosewerkzeuge war Teil des Wordfence-Plugins. Es war im Dashboard-Menü unter Wordfence> Tools> Diagnostics (Registerkarte) verfügbar.
Ich habe das Problem der Hosting-Firma gemeldet und es hat sich anscheinend über Nacht von selbst behoben (die Person, die auf mein Support-Ticket geantwortet hat, gab an, dass sie nichts behoben hat). Ich denke, es ist wahrscheinlich, dass es ein Symptom für ein Problem war, das mehrere Hosting-Konten betraf, und jemand anderes innerhalb des Hosting-Unternehmens hat es wahrscheinlich erkannt und behoben.
Für den Fall, dass andere auf ein ähnliches Problem stoßen, kann diese Antwort ihnen helfen, weniger Zeit damit zu verbringen, es aufzuspüren. Als ich feststellte, dass die falsche PHP) -Version zu laufen schien, stellte ich fest, dass dies wahrscheinlich nichts war, was ich nur mit cPanel-Zugriff beheben konnte.
Wenn Sie etwas mit SELinux verwenden (wie Fedora oder CentOS), müssen Sie auch SELinux-Berechtigungen festlegen. Angenommen, Ihr Verzeichnis heißt uploads
(zum Beispiel)
chcon -R -t httpd_sys_rw_content_t uploads
Dadurch wird uploads
und alles darunter so eingestellt, dass es auf den Webserver-Benutzer hochgeladen werden kann