it-swarm.com.de

Die Site scheint den "privaten" Wrapper zu vermissen. Wie kann ich das beheben?

Ich kann nicht aktivieren, dass der private Ordner die folgende Warnung erhält:

Warning: file_exists(): Unable to find the wrapper "private" - 
did you forget to enable it when you configured PHP? in file_save_htaccess() 
(line 365 of core/includes/file.inc).

Es ist Drupal 8.6.12, Multisite-Konfiguration, andere Sites verwenden private Ordner.

Wie kann ich es reparieren ?

2
Paul Paku

Hier sind die notwendigen Schritte:

  1. Erstellen Sie ein Verzeichnis auf dem Server. Dies erfolgt normalerweise über SSH. Unter der Annahme von Apache unter Ubuntu kann beispielsweise der folgende Befehl verwendet werden: Sudo -u www-data mkdir -p /var/www/html/web/sites/default/files/private
  2. Erzählen Sie Drupal] von Ihrem Verzeichnis, indem Sie Ihr settings.php Datei. Sie müssen eine Zeile wie die folgende haben:

     $settings['file_private_path'] = '/var/www/html/web/sites/default/files/private';
    
  3. Wichtig : Löschen Sie den Drupal Cache, zum Beispiel mit drush cr oder gehen Sie in Ihrem Browser zur Seite/admin/config/development/performance.

  4. Gehen Sie in der Adressleiste des Browsers zu/admin/config/media/file-system. Sie sollten "Private lokale Dateien" in der Option "Standard-Download-Methode" sehen. Wenn nicht, besuchen Sie bitte die Seite/admin/reports/status, um Fehlermeldungen anzuzeigen. Stellen Sie sicher, dass PHP in das Verzeichnis schreiben kann. Damit dies funktioniert, muss das Verzeichnis häufig für das www-data Benutzer.

Weitere Dokumentation finden Sie unter https://www.drupal.org/docs/8/core/modules/file/overview#private-file-system .

6
Gogowitsch

Über den in der obigen Antwort angegebenen Link wird ausdrücklich angegeben, dass der private Ordner NICHT in docroot abgelegt werden soll:

"Fügen Sie den URL-Pfad zu Ihrem privaten Verzeichnis hinzu. Er muss außerhalb Ihres Webstammverzeichnisses vorhanden sein und ein absoluter Pfad sein, z. B. /var/www/html/example.org/private mit Webstamm in/var/www/html/example.org/web oder /home/username/example.org/private mit Webstamm in /home/username/example.org/web. Es sollte also so aussehen:

$ settings ['file_private_path'] = $ app_root. '/../Privat'; ""

0
liquidcms