Apache platziert hochgeladene Dateien in /tmp. Kann ich das in ein anderes Verzeichnis ändern?

Apache platziert hochgeladene Dateien in /tmp. Kann ich das in ein anderes Verzeichnis ändern?

Gibt es eine Konfiguration, die das Verzeichnis ändert, in dem der Apache-Webserver hochgeladene Dateien vorübergehend ablegt? Ich habe Zugriff auf httpd/conf.d

Ich arbeite an einem Rechner, dessen Größe für /tmp stark eingeschränkt ist, und muss das Hochladen von Dateien zulassen, die größer sind als der auf /tmp verfügbare Speicherplatz.

Umgebung: Fedora 18, Apache Webserver 2.4.6-2, Passenger und Ruby on Rails.

EDIT: Im Büro wird darüber diskutiert, dass Passenger (da dies eine Ruby-on-Rails-App ist) und nicht Apache den Speicherort des temporären Datei-Uploads bestimmt. Ich gehe davon aus, dass es Apache ist, aber korrigieren Sie mich bitte, wenn ich falsch liege.

Antwort1

Der temporäre Dateispeicherort scheint durch das von Ihnen gewählte Skriptprogramm festgelegt zu sein. In PHP wird der temporäre Upload-Speicherort beispielsweise durch die upload_temp_dirDirektive festgelegt.

upload_temp_dir = /somewhere/else

Was Ruby on Rails betrifft, fand ichdiese ServerFault-Fragedas beschreibt es als eine Änderung der „tmpdir“-Eigenschaft des Rails-Initialisiererobjekts.

class Dir
  def self.tmpdir
    "/your_directory/"
  end
end

Um es dem Benutzer nachzuplappern, der diese Frage im anderen Thread beantwortet hat: Stellen Sie sicher, dass der von Ihnen angegebene Ordner für den Apache-Benutzer beschreibbar ist.

Antwort2

Zu Ihrer Information: In der Datei php.ini steht:

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
;upload_tmp_dir =

also heißt es „tmp“ vs. „temp“. Zumindest hat das bei mir funktioniert.

verwandte Informationen