it-swarm.com.de

Anhang kann nicht über FTP auf K2-Elemente hochgeladen werden

Ich verwende K2 für die Inhaltsverwaltung. Um Dateien hochzuladen, musste ich die Verzeichnisse/media/k2 und ihre Unterverzeichnisse auf 775 setzen. Natürlich wurde die Website aufgrund der Einstellungen der WWW-Datengruppen beschädigt. Das ist eine wirklich schlechte Erfahrung, hat mir aber so viel beigebracht.

Der Besitzer meiner Verzeichnisse war zkanoca und gorup war www-data. Ich habe die gesamten Dateien und Verzeichnisse gelöscht und aus dem Backup hochgeladen. Ich habe CHMOD-Werte auf 755 für Verzeichnisse und 644 für Dateien als empfohlen festgelegt.

Dieser Fehler tritt auf, wenn ein Benutzer versucht, auch ein Profilbild hochzuladen. Es fügt den Namen der Benutzerprofilbilddatei in die Datenbank ein, lädt die Datei jedoch nicht in das Verzeichnis media/k2/user hoch.

Für die wiederhergestellte Website ist der Eigentümer zkanoca und die Gruppe zkanoca.

Dann habe ich FTP-Informationen auf der Seite Globale Konfiguration im Administratorbereich eingegeben.

Ich habe versucht, einige Dateien mit Joomlas Media Manager hochzuladen. Das Ergebnis war einwandfrei.

Wenn ich jedoch versuche, einem K2-Element einige Anhänge hinzuzufügen, heißt es, dass es hochgeladen wurde, und listet sie in einer Tabelle auf, aber tatsächlich werden sie nicht hochgeladen. Es wird lediglich ein neuer Datensatz in die Tabelle k2_attachments eingefügt, die Datei jedoch nicht in die Tabelle /media/k2/attachments hochgeladen. Wenn ich auf den Dateilink auf der Vorderseite der Site klicke, wird eine Meldung angezeigt K2_FILE_DOES_NOT_EXIST. Aber beim Upload gibt es keinen Fehler.

Wenn ich mit K2 einen Anhang zu einem Element hinzufüge, werden der Datenbank Datensätze hinzugefügt, die Datei wird jedoch nicht hochgeladen. Dann, wenn ich manuell hochlade, funktioniert es.

Eine andere lustige Sache: Wenn ich die Datei zuerst hochlade und sie als Anhang zu einem Element hinzufüge, wird dieselbe Fehlermeldung angezeigt wie oben.

Ich möchte wissen, wie man Dateien mit FTP-Einstellungen auf K2-Objekte hochlädt. Denn meines Erachtens verwendet HTTP nicht FTP, um Dateien hochzuladen.

Ich habe noch eine Sache ausprobiert, aber es hat auch nicht geholfen. Ich habe den Ordner für Anhänge in einen anderen geändert. Wieder konnte die Datei nicht in das Verzeichnis geschrieben werden. Das bedeutet, dass mit den Verfahren von K2 etwas nicht stimmt.

1
zkanoca

Vielleicht haben Sie K2 installiert, bevor Sie sich für die Verwendung der FTP-Schnittstelle entschieden haben?

Wenn eine Erweiterung über die Apache-Oberfläche installiert wird, gehören alle während der Installation erstellten Dateien und Verzeichnisse dem Apache-Benutzer. Normalerweise verfügt der FTP-Benutzer nicht über die Schreibberechtigung. Der Fix besteht darin, den Besitzer in den korrekten Wert zu ändern.

chown wird dies beheben, wenn Sie es verwenden können. Andernfalls besteht die einfachste Lösung darin, eine Sicherungskopie der Joomla-Dateien zu erstellen und diese mit dem richtigen Eigentümer wiederherzustellen. Zum Beispiel mit FTP.

Der erste Schritt sollte immer noch darin bestehen, in den Ordner media/k2 zu wechseln und zu prüfen, ob Sie dort mit FTP schreiben können und ob Sie das Problem beheben können, indem Sie den Ordner herunterladen, den Ordner entfernen und wiederherstellen. (Oder aber chown ..)

1
Ville Niemi

Hast du es versucht:

Ich habe die Datei administrator/components/com_k2/lib/class.upload.php bearbeitet und die MIME-Erkennungsmethoden auf false gesetzt:

// these are the different MIME detection methods. if one of these methods
// doesn't work on yoursystem, you can deactivate it here; just set it to false
$this->mime_fileinfo = false; // MIME detection with Fileinfo PECL extension   
$this->mime_file = false; // MIME detection with UNIX file() commaed
$this->mime_magic = false; // MIME detection with mime_magic (mime_content_type())
$this->mime_getimagesize = false; // MIME detection with getimagesize()

Dies löste das Problem

0
Ville Niemi