UPLOAD_ERR_CANT_WRITE値: 7; ディスクへの書き込みに失敗しましたでファイルアップロード出来ないケーススタディ

2012/06/27 20:03

とあるサイトのカスタマイズ中に

開発機から本番機へ設置したさい

PHPで大きめのファイルがアップロードできなくなりました

PHPが出すエラー内容は「UPLOAD_ERR_CANT_WRITE値: 7; ディスクへの書き込みに失敗しました

 

それで解決にいたるまでの試したことを、助言いただいたことを列挙してみました。

参考になればと思います。

 

(1)まず基本の環境変数確認

php.iniのmemory_limit 、post_max_size 、upload_max_filesizeを確認。問題なし

 

(2)ハードの制限?

上げるディレクトリに直接sftpであげてみる

→できる。問題なし

 

(3)プログラムの問題?

開発機では問題ないので考えにくい

 

–ここからFBで助言をいただきました。当人に許可をもらってないので

名前は公開しません

 

(4)php実行時間では?

php.iniのmax_execution_timeを30分ほどにしてみたが効果なし。5分も立たず失敗する

 

(5) upload_tmp_dir = に httpd (apache) で書き込み出来る権限ついたディレクトリを指定してみては?

それだと小さいサイズのファイルでもだめなはず(´・ω・`)

 

(6) flashアップローダーならローカルストレージの容量制限とか

今回は使ってない(´・ω・`)

 

(7) apache の LimitRequestBody の設定あたりがあやしい

今回は関係なかったです

 

【解決】

今回は/tmpの下の容量が圧迫されていたことにありました。

つまりテンポラリディレクトリにそもそもおけない状態でした。

この圧迫されていた原因は書けないのですが某御方に整理してもらって

あげられるようになりました。

 

なおテンポラリディレクトリを比較的余裕あるディレクトリに指定すると

途中でapache自体が死んでしまいました(理由不明)

ここは分かり次第追記したいと思います

コメントを投稿

次の HTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">

コメントはまだありません。