it-swarm.com.de

Das temporäre Verzeichnis konfigurieren

Ich habe kürzlich eine Site von einem lokalen Host auf einen VPS verschoben. Ich habe es geschafft, die öffentlichen und privaten Dateien beschreibbar zu machen. Ich bin mir jedoch nicht sicher, wo sich der temporäre Ordner befindet und wie ich die Berechtigungen ändern kann. Ich bekomme immer wieder diese Nachricht:

Die angegebene temporäre Datei: // file3Hl91E konnte nicht kopiert werden, da das Zielverzeichnis nicht ordnungsgemäß konfiguriert ist. Dies kann durch ein Problem mit Datei- oder Verzeichnisberechtigungen verursacht werden. Weitere Informationen finden Sie im Systemprotokoll.

Ich verwende Virtualmin, Drupal 7, und einen Debian-Server. Mein aktuelles temporäres Verzeichnis ist /tmp.

49
Jasmine Ahmed

Überprüfen Sie Administrator -> Konfiguration -> Medien -> Dateisystem, um Ihren tmp-Pfad zu personalisieren. Stellen Sie sicher, dass Sie relative Pfade verwenden und über die richtigen Berechtigungen für den Apache-Benutzer verfügen.

Ich persönlich mag diesen Artikel Datei hochladen korrigieren . Er hat gute Beobachtungen. Es hat bei mir funktioniert.

Kürzlich habe ich meine Website auf meinen Mac heruntergeladen. Es kommt vor, dass ich auf meinem Mac mod_userdir Für Apache verwendet habe und vergessen habe, dass ich in /etc/Apache2/users/nameofuser.confAllowOverride All Einstellen muss, sonst wird folgende Meldung angezeigt:

Die angegebene temporäre Datei konnte nicht kopiert werden, da das Zielverzeichnis nicht ordnungsgemäß konfiguriert ist.

47
cayerdis

In Ihrer settings.php

$conf['file_temporary_path'] = '/tmp';

Dies funktioniert in 99% der Fälle auf Unix-Systemen.

Normalerweise ist das Verzeichnis/tmp auf UNIX-Systemen mit offenen Berechtigungen vorhanden. Es ist speziell für temporäre Dateien vorhanden und wird häufig zur Verbesserung der Leistung eingerichtet.

Sie können Berechtigungen überprüfen, indem Sie ls -al /tmp in der Kommandozeile.

Wenn Sie dies weiter lesen möchten, lesen Sie https://en.wikipedia.org/wiki/Temporary_folder

18
chim

Es ist wichtig zu verstehen, dass ein Berechtigungsproblem sowohl in Ihrem angegebenen temporären Verzeichnis (definiert unter admin/config/media/file-system) UND in dem Ordner, in den diese temporäre Datei kopiert werden soll, bestehen kann. Ich habe diesen Fehler einige Male gesehen und es ist normalerweise kein Problem mit dem temporären Ordner, sondern mit dem endgültigen Ordner, in den diese Datei kopiert wird nach im temporären Ordner.

Stellen Sie außerdem sicher, dass der Pfad des öffentlichen Dateisystems korrekt festgelegt ist.

17
sheldonkreger

Ich hatte genau dieses Problem und stellte sicher, dass der relative Pfad (sites/default/files/tmp) für meinen tmp-Ordner wie vorgeschlagen verwendet wurde. Außerdem habe ich die Berechtigungen für den tmp-Ordner geändert, um sicherzustellen, dass er von Apache beschreibbar ist, aber mein Problem bestand weiterhin . Deshalb habe ich beschlossen, die Protokollnachrichten (Berichte >> Letzte Protokollnachrichten) zu überprüfen, um festzustellen, ob das Problem besser verstanden werden kann. Auf diese Weise erhielt ich eine spezifischere Nachricht:

Die Dateiberechtigungen konnten nicht für public: // js festgelegt werden.

Dies veranlasste mich, die Berechtigungen für den Ordner js in sites/default/files zu überprüfen. Wie sich herausstellte, konnte Apache nicht darauf schreiben. Durch Ändern der Berechtigungen auf 775 für diesen Ordner wurde meine Fehlermeldung entfernt. Daher würde ich vorschlagen, dass Sie die Berechtigungen für alle Unterordner in sites/default/files und nicht nur für den Ordner tmp überprüfen, wenn Sie Ihr Problem noch nicht gelöst haben. Ich dachte nur, ich würde diese Informationen teilen.

7
Andew

sie finden die Dateisystemeinstellungen in admin/config/media/file-system ändere es in/tmp

sie können auch admin/reports/status auf Einstellungsprobleme überprüfen

über/tmp Erlaubnis können Sie es 755 geben und Sie finden es in/public_html

5
Ahmed

Die Fehlermeldung kann manchmal irreführend sein

Wenn das Problem mit dem Zielverzeichnis zu tun hat, verfügt der Apache wahrscheinlich nicht über die Berechtigungen zum Schreiben in den Unterordner sites/default/files, in den Drupal möchte die Datei ablegen).

Eine gute Lösung besteht darin, den Apache-Benutzer zum Eigentümer aller Dateien und Verzeichnisse unter sites/default/files zu machen

cd /path/to/sites/default
Sudo chown -R _www:_www files

Oder etwas Ähnliches sollte Probleme mit dem Zielverzeichnis beheben. Stellen Sie sicher, dass der Eigentümer über Schreib- und Ausführungsberechtigungen für alle Unterverzeichnisse verfügt.

2
chim

Das Dateiverzeichnis: Fehlerbehebung bei Apache-basierten Webservern

Wenn die Verzeichnisdateien nicht dem Webserver "gehören", gibt es zwei Möglichkeiten, um fortzufahren. Diese Anweisungen setzen voraus, dass Sie Shell-Zugriff auf den Webserver haben. Wenn Sie keinen Shell-Zugriff haben, wenden Sie sich an Ihren Hosting-Anbieter, um zusätzliche Unterstützung zu erhalten.

Im Idealfall können Sie den "Eigentümer" der Verzeichnisdateien so ändern, dass er mit dem Namen des Webservers übereinstimmt. Auf einem Unix- oder Linux-basierten Server können Sie überprüfen, wie der Webserver ausgeführt wird, indem Sie die folgenden Befehle eingeben:

$ ps aux  |grep Apache # for Apache 2.x
$ ps aux  |grep httpd # for Apache 1.x

Abhängig von Ihrem Webserver gibt einer dieser Befehle eine Reihe von Zeilen wie folgt zurück:

www-data 13612  0.1  0.9  50640 20340 ? S 12:29   0:08 /usr/sbin/Apache2 -k start

Die erste Spalte im zurückgegebenen Text ist der "Benutzer", als den Ihr Webserver arbeitet. In diesem Fall ist der Benutzer www-Daten. Um Ihr Dateiverzeichnis vom Webserver beschreibbar zu machen, müssen Sie seinen Besitz mit dem folgenden Befehl neu zuweisen:

$ chown -R www-data sites/default/files
$ chmod -R 0700 sites/default/files

Wenn Sie auf Ihrem Server nicht über ausreichende Berechtigungen verfügen, um den Besitz des Ordners zu ändern, können Sie am besten mit dem folgenden Befehl Gruppenschreibzugriff auf den Ordner gewähren:

$ chmod -R 0770 sites/default/files

Sie sollten auch in der Lage sein, die Berechtigungen des Verzeichnisses mithilfe eines FTP-Programms wie oben beschrieben anzupassen.

Wenn Sie diese Schritte ausgeführt haben, bestätigen Sie, dass die entsprechenden Berechtigungen zugewiesen wurden, indem Sie zu Verwalten -> Berichte -> Statusbericht navigieren. Scrollen Sie zum Abschnitt "Dateisystem" und bestätigen Sie, dass Ihre Einstellungen jetzt korrekt sind.

Quelle: Das Dateiverzeichnis

2

In einigen Situationen kann dies leicht behoben werden, indem die Ordner 'ctools' und 'js' in default/files gelöscht werden. Diese Ordner werden bei Bedarf vom System neu erstellt. Manchmal verursachen diese vorhandenen Ordner bei einer Neuinstallation einer vorhandenen Site bereits Probleme. Auch wenn Ihr CSS nach einer Neuinstallation einer vorhandenen Site nicht funktioniert, kann dies behoben werden, indem Sie diese Dateien löschen und drupal sie neu erstellen lassen).

2
Paul Trotter

Ich mag keine der vorhandenen Antworten wirklich, deshalb werde ich einfach selbst eine starten, die ich wahrscheinlich im Laufe der Zeit aktualisieren werde. Hauptsächlich mit Shell-Befehlen.

Führen Sie dies zunächst über sites/example.com:

MYSITE=example.com
FILES=sites/$MYSITE/files  
# CSS and JS might also cause trouble and advagg has its own dirs
TMPDIRS=$FILES/tmp $FILES/js $FILES/css $FILES/advagg_*
drush vset file_temporary_path $FILES/tmp # seems better than using /tmp
drush vset file_directory_temp $FILES/tmp
cd $(drush drupal-directory)   
chown www-data -R $TMPDIRS
chmod 755 -R $TMPDIRS
1
kqw

Meine alte und problematische Konfiguration

chmod 664 -R /var/drupal-bc/sites/default/files
chmod 664 -R /var/drupal-bc/sites/default/private

drw-rw-r-- 2 www-data www-data  4096 Jul 31 12:35 files
drw-rw-r-- 3 www-data www-data  4096 Jul  5 15:08 private

Meine neue und funktioniert gut Konfiguration

chmod 774 -R /var/drupal-bc/sites/default/files
chmod 774 -R /var/drupal-bc/sites/default/private

drwxrwxr-- 2 www-data www-data  4096 Jul 31 12:35 files
drwxrwxr-- 3 www-data www-data  4096 Jul  5 15:08 private
1
Claudio Lente

Eine weitere Fehlerquelle ist, dass nicht in den Dateiordner geschrieben werden kann. In meinem Fall habe ich es gelöst mit:

$chmod 777 sites/default/files/pictures/
1
freeman

Ich hatte das gleiche Problem, nachdem ich von einem Server auf einen anderen gewechselt war.

Ich habe alles versucht, was hier vorgeschlagen wurde, Ordner auf 755 gesetzt und so weiter.

Mein temporärer Ordner wurde auf "" tmp7zXhVVCO "gesetzt und kopierte die Installationsdateien tatsächlich gut. Nach jedem erneuten Versuch sah ich, dass die temporäre Datei dort kopiert wurde, aber die Installation schlug weiterhin fehl.

Das Problem ist jedoch, dass der Eigentümer nicht die Rechte hat, weshalb 777 diesen Fehler beseitigt, aber wir alle wissen, dass dies kein Weg ist, um auf Produktionsstandorten vorzugehen.

Was Sie tun sollten, ist, Ihren temporären Ordner in etwas anderes zu ändern, wie "temp" oder was auch immer zu Ihnen passt, solange es existiert noch nicht, drupal erstellt diesen neuen Ordner mit Apache Rechten, nicht Benutzer Rechten, und Ihr Problem wird sein gelöst.

1
Kevin G

Wenn Sie mit Pantheon auf dieses Problem stoßen und nach dem Festlegen der (temporären) Dateiverzeichnispfade weiterhin den Fehler erhalten, müssen Sie möglicherweise auch den Verbindungsmodus in Ihrem Dev-Instanz-Dashboard von Git auf SFTP umschalten.

Ihre Drupal Site versucht möglicherweise, Dateien in einem von Git verwalteten Verzeichnis zu speichern (z. B. wenn Sie Layouteinstellungen und dergleichen in einem Adaptive Themes-Design ändern). Wechseln Sie dazu zu SFTP: Sobald die Dateien gespeichert wurden, können Sie wieder zu Git wechseln. Das Dashboard fordert Sie auf, die auf dem Server vorgenommenen Änderungen festzuschreiben.

1
Kay V

Ich hatte das gleiche Problem bei einer Migration. Ich habe chmod 777 alle sites/default/files, aber der Fehler tritt immer noch auf. Ich ändere die Berechtigung 775 für Sites/Standard/Dateien und die Nachricht ist verschwunden. Ich war kein privates Pfadproblem, meins ist/var/tmp, aber die 775-Berechtigung.

1
Wood

Unter Konfiguration -> Medien -> Dateisystem habe ich den/temp-Katalog entfernt. Danach hatte ich keine Probleme mehr.

1
Filip

Ich hatte das gleiche Problem.

Ich habe IIS in Windows) verwendet. Schließlich bestand das Problem in den Berechtigungen in den Ordnern sites/default/files und natürlich in sites/default/files/tmp.

Schließlich gab ich den Ordnern erneut "Vollberechtigungen", und es funktionierte.

Grüße

1
jorge_vicente

Die richtigen Berechtigungen für temporäre Ordner hängen von Ihrer Webserverkonfiguration ab.

Wenn Drupal mit PHP als Modul des Webservers, z. B. Apache) ausgeführt wird, sollte der Benutzer, der in der Hauptkonfigurationsdatei des Webservers mithilfe der Benutzeranweisung definiert ist, schreiben müssen Zugang dazu.

% grep -i "Benutzer" /etc/httpd/conf/httpd.conf

Benutzer Apache

1
Taras