Apache はアップロードされたファイルを /tmp に配置します。これを別のディレクトリに変更できますか?

Apache はアップロードされたファイルを /tmp に配置します。これを別のディレクトリに変更できますか?

Apache Webサーバーがアップロードされたファイルを一時的に配置するディレクトリを変更する設定はありますか? httpd/conf.dにアクセスできます

私のマシンでは /tmp のサイズが非常に制限されており、/tmp の使用可能なスペースよりも大きいファイルのアップロードを許可する必要があります。

環境: fedora 18、apache web server 2.4.6-2、passenger、ruby on rails。

編集: 一時ファイルのアップロード場所を決定するのは Apache ではなく、passenger (これは Ruby on Rails アプリなので) であるという議論がオフィスで行われています。私は Apache であると仮定していますが、間違っていたら訂正してください。

答え1

一時ファイルの場所は、選択したスクリプト プログラムによって設定されるようです。たとえば、PHP では、一時的なアップロード場所はディレクティブによって設定されますupload_temp_dir

upload_temp_dir = /somewhere/else

Ruby on Railsに関しては、この ServerFault の質問これは、Rails の初期化オブジェクトの 'tmpdir' プロパティへの変更として説明されています。

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

他のスレッドでこの質問に答えたユーザーの言うとおり、指定するフォルダーが Apache のユーザーによって書き込み可能であることを確認してください。

答え2

ちなみに、php.ini ファイルには次のように書かれています:

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

つまり、「tmp」ではなく「temp」です。少なくとも私の場合はこれでうまくいきました。

関連情報