私はValums file uploaderを使ってプログレスバーを使ってWebページからファイルをアップロードしています。ほとんどすべて正常に動作しますが、ファイルが保存されているデフォルトのtmpディレクトリを変更することはできませんアップロード中。 /tmp
が4 メガバイトとユーザーに限られ、そのサイズは10 メガバイトの周りにファイルをアップロードされているRAMディスクにマウントされているためPHP tmpディレクトリを設定する - PHPアップロードが正常に動作しない
ファイルは、/tmp
ディレクトリ/upload
ディレクトリにしていないデフォルトのシステムに格納する必要があります。
多くのウェブページを検索しましたが、解決策はありませんでした。私はphp.ini
に一時ディレクトリを設定している :
upload_tmp_dir =/upload
私は/upload
ディレクトリへのアクセス権を設定した、とApacheは、ファイルの所有者なので、ディレクトリは間違いなくPHPによって書き込み可能です。
ファイルのアップロード先のパスを/upload
に設定しました。このディレクトリにもアップロード後にファイルを保存したいからです。最終的に小さなファイルが正常にアップロードされていますが、4 MB以上のファイルはアップロードできません。アップロード時にファイルが/tmp
に保存されているということが私の考えです。確かに、私はsys_get_temp_dir()
でそれをチェックしました。結果は/tmp
でした.- PHPはphp.iniディレクティブを無視します。あるいは、アップロード中にファイルが保存される場所を設定する他の方法があります。
ああ、最後の情報:open_basedir
が設定されていないため、ディスクへのPHPアクセスはファイルアクセス権によってのみ制限されます。
ます(この愚かな質問には申し訳ありません)、サーバーを再起動しましたか? – soju
愚かな質問はありません。ちょうど愚かな答えです:)。はい、私は問題を解決しようとしている間に何度もやり遂げました。 – Wookie88
phpがcgi modとしてインストールされていないことを確認しましたか? (doc:*ここで指定したディレクトリが書き込み可能でない場合、PHPはシステムのデフォルトの一時ディレクトリ*に戻ります)* – soju