it-swarm.com.de

Magento 1.9.2.3. Nach dem Hochladen von Bildern aus dem Backend wird die Berechtigung auf 640 statt 644 festgelegt

Nach einer Neuinstallation von Magento 1.9.2.3 wurde mir klar, dass ein Problem beim Hochladen von Bildern aus dem Backend vorliegt. Die Dateien erhalten die Erlaubnis 640 statt 644. Wie kann ich dies so einstellen, dass wenn Magento ein Bild auf den Server lädt, es 644 erhält?

Im Moment muss ich SSH oder ACP verwenden, um die Berechtigungen manuell festzulegen.

vielen Dank!

11
Skypiboy

Öffnen Sie die folgende Datei:

lib/Varien/File/Uploader.php

Suchen Sie nach dieser Zeile:

chmod($destinationFile, 0640);

Ersetzen Sie es durch diese Zeile:

chmod($destinationFile, 0644);

Suchen Sie nach dieser Zeile:

chmod($destinationFile, 0750);

Ersetzen Sie es durch diese Zeile:

chmod($destinationFile, 0755);
10
Salvio Pepe

Führen Sie ein Upgrade auf Magento 1.9.2.4 durch, das die durch den Patch SUPEE-7405 oder Magento 1.9.2.3 verursachten Probleme behebt. Wenn Sie aus irgendeinem Grund kein Upgrade durchführen können, sollten Sie SUPEE-7405 v 1.1 installieren, um das Berechtigungsproblem zu beheben. Dieser Patch in Magentos eigenen Worten stellt weniger einschränkende Dateiberechtigungen wieder her (0666 für Dateien und 0777 für Verzeichnisse), sodass Sie Bilder usw. normal anzeigen können.

2
Devtype

Magento 1.9.2.3 oder SUPEE-7405 enthält einige Änderungen an den Dateiberechtigungen. Dateien, die über das Magento-Admin-Panel hochgeladen wurden (d. H. Produktbild-Uploads), sind standardmäßig nicht mehr weltweit lesbar (vorher: 644/danach: 640). Verzeichnisse sind auch nicht weltweit ausführbar (vorher: 755/danach: 750). Dies führt dazu, dass der Webservice neu erstellte Dateien nicht aus Magento lesen kann.

Die Lösung ändert nicht die Kerndateien, um die Dateiberechtigungen zu ändern, sondern fügt den Benutzer, der den Webdienst ausführt, der Gruppe des konfigurierten Benutzers PHP hinzu. Zum Beispiel führe ich nginx auf meinem Server aus, also musste ich das Problem beheben:

  • usermod -a -G Gruppenname Benutzername usermod -a -G
  • php-fpm-config-groupname nginx
2
Devtype
file:- lib/Varien/File/Uploader.php


Zeile 219:

chmod($destinationFile, 0640);
chmod($destinationFile, 0644);



Zeile 541:

if (!(@is_dir($destinationFolder) || @mkdir($destinationFolder, 0750, true))) {

zu:

if (!(@is_dir($destinationFolder) || @mkdir($destinationFolder, 0755, true))) {

Diese Lösung hat bei uns für das gleiche Problem funktioniert. Wir waren ungefähr 10 Stunden auf der Suche nach einer Lösung, froh, dass wir sie gefunden haben.

Siehe Lösung und referenzierter Link.

Klicken Sie hier, um den Lösungslink anzuzeigen

Lösung: Magento Community Edition 1.9.2.3 und das Sicherheitspatch SUPEE-7405 führten einen neuen Fehler beim Hochladen von Bildern ein, der zu falschen Dateiberechtigungen für neu hochgeladene Bilder führte. 

Wenn Sie Bilder hochgeladen haben, die nicht angezeigt werden, müssen Sie zunächst die korrekten Dateiberechtigungen für Ihre Dateien und Datenbanken festlegen. 

Um das Problem dauerhaft zu beheben, müssen Sie eine Datei in Magento ändern. 

Wichtiger Hinweis: Dies ist ein manueller Hack, der während eines Magento-Upgrades überschrieben wird. 

Öffnen Sie die folgende Datei: - Lib/Varien/File/Uploader.php

Suchen Sie nach dieser Zeile: - Chmod ($ destinationFile, 0640);

Ersetzen Sie es durch diese Zeile: - Chmod ($ destinationFile, 0644);

Suchen Sie nach dieser Zeile: - Chmod ($ destinationFile, 0750);

Ersetzen Sie es durch diese Zeile: - Chmod ($ destinationFile, 0755);

Speichern Sie die Datei und das nächste hochgeladene Bild sollte ordnungsgemäß geladen werden.

0
Daniel Macadar