Bei Verwendung einer Neuinstallation von Drupal 7.10 habe ich das Verzeichnis für öffentliche Uploads auf festgelegt sites/uploads
.
Wenn ich dann einer Inhaltsinstanz ein Bild hinzufüge, wird das Original sites/example.org/files/imagename.png
wie erwartet hochgeladen . Die anderen Bilder (Miniaturansicht, mittel und groß) werden jedoch nicht bei erstellt sites/example.org/styles/*
.
Das Verzeichnis ist für den PHP5-FPM-Benutzer lesbar und beschreibbar, daher sollte es keine Problemberechtigungen geben.
Warum passiert das? Wie kann ich es reparieren?
Antworten:
Richtig, die Antwort ist tatsächlich etwas subtiler als ich dachte. Es stellt sich heraus, dass der
imagecache
Ersatz von D7 in Ihrem Nginx-Vhost einige Aufmerksamkeit erfordert. Ohne dass die 404s für die fehlenden Dateien an Drupal gesendet werden, werden die Bilder nicht erstellt - etwas, das ich anfangs nicht realisiert habe, da ich angenommen hatte, dass sie beim Hochladen erstellt wurden.Es muss zu Ihrer Serverdefinition hinzugefügt werden, und Sie sollten bereit sein, zu rollen. Natürlich muss der Pfad für Ihr Setup möglicherweise geändert werden, für mich jedoch.
quelle
Überprüfen Sie sowohl den Pfad des öffentlichen Dateisystems als auch den temporären Pfad unter admin / config / media / file-system
Sobald ich beide Ordner mit den richtigen Berechtigungen eingerichtet habe, werden meine Unterordner automatisch erstellt, wenn ich eine Datei speichere, das Bild gespeichert wird und die Fehlermeldung nicht mehr angezeigt wird :-)
quelle
In meinem Fall wurde das Problem verursacht, weil die Bilder mit https abgerufen wurden.
Ich habe die folgenden Zeilen in den Einstellungen für sichere Seiten hinzugefügt, um https in Dateipfaden zu ignorieren.
*/files/*
Hoffe das hilft jemandem. :) :)
quelle
Während Sie sagen, dass Sie Berechtigungen überprüft haben, würde ich immer noch dort anfangen, da ich dieses Problem häufig selbst hatte und es fast immer ein Berechtigungsproblem war.
Allgemeine Hinweise: Gehen Sie zunächst zu admin / config / media / file-system und klicken Sie auf "Konfiguration speichern". Dies führt dazu, dass Drupal die Berechtigungen der festgelegten Verzeichnisse neu bewertet und Fehlermeldungen ausgibt, wenn ein Problem festgestellt wird.
Zweitens: Ich gehe davon aus, dass Sie einen Apache oder WWW-Daten oder andere Benutzer haben, denen der Webserver gehört, im Gegensatz zum PHP-Benutzer? Auf einem Linux- oder Mac-System sudo an diesen Benutzer. Der Versuch, eine Datei als der richtige Benutzer zu schreiben , ist der beste Weg, um wirklich sicherzustellen, dass Sie über die richtigen Berechtigungen verfügen. Gehen Sie zu sites / domain.com / files / und rufen Sie "echo data> new_file; cat new_file;" auf. in einem Terminal. Dadurch wird überprüft, ob Sie tatsächlich in das Schreibverzeichnis schreiben können. Machen Sie dasselbe mit Ihrem tmp-Verzeichnis. Hoffentlich kann jemand anderes vorschlagen, wie dieselben Aktionen auf einem System wie Windows ausgeführt werden sollen.
Drittens: Um Verzeichnisberechtigungen auszuschließen, wenden Sie das Dateiverzeichnis rekursiv an. Sie können anschließend mit vernünftigeren Berechtigungen wiederherstellen
Viertens: Stellen Sie sicher, dass das tmp-Verzeichnis über vollständige Berechtigungen verfügt.
Fünftens: Möglicherweise müssen Sie mit dem Debuggen des Codes beginnen, wenn Sie es inzwischen herausgefunden haben.
quelle
Um die Antwort von Letharion zu vervollständigen, habe ich folgende Methode verwendet, um Miniaturbilder, mittlere ... Bildstile zu erstellen.
Ich habe genau gesagt, dass ich zuerst alle oben aufgeführten Punkte ohne Ergebnis überprüft habe.
Dann (unter einem Linux-Betriebssystem) habe ich /usr/local/etc/suphp.conf bearbeitet , um umask auf PHP zu ändern , sodass Dateien UND Verzeichnisse mit maximal 755 Berechtigungen erstellt werden konnten (maximal 744).
Und das hat das Problem definitiv gelöst. :) :)
quelle
GP Code Bibliothek Miniaturbild per PHP erstellen Wenn wir große Bilder auf den Server hochladen. Das Hochladen großer Bilder dauert länger, bis sie auf die Webseite geladen sind. Daher müssen wir kleine Bilder auf unserer Webseite anzeigen. Die Miniaturansicht des Bildes ist eine Lösung zum Generieren der Miniaturansicht des hochgeladenen Bildes, um Bilder in der erforderlichen Größe auf unserer Website anzuzeigen. http://codelibrary.googleplus.co.in/create-thumbnail-image-by-php/
quelle
Ich bin auf Drupal 8.0.3.
In meinem Fall wird dieser Ordner bei der Installation nicht generiert.
Also habe ich es durch Kopieren von der älteren Version der Drupal-Installation ausgedrückt.
Alle Bilder, einschließlich Miniaturbild, Mittel und Groß, werden jetzt angezeigt.
quelle
Überprüfen Sie Ihre .htaccess-Datei im Stammverzeichnis und im Dateiverzeichnis. Bei Bedarf durch die neue .htaccess-Datei ersetzen
quelle