[PHP-users 9922] ファイルのアップロードについて

Daisuke Yoshida php-users@php.gr.jp
Mon, 9 Sep 2002 12:38:02 +0900


清野さんと同じ問題にぶち当たった一学生です.

解決法はファイルパーミッションを600から644などに変えることで解決すると
思うんですが,結局どうやって変更すればいいのかが書かれていませんで
した.どなたか教えていただけませんでしょうか?よろしくお願いします.


###########################################################

清野と申します.

HTTPで画像ファイルをアップロード,lo_import関数を利用して,PostgreSQL
へ格納させようとしています.

ファイルのアップロード自体はうまく行うことが出来ています.
が,lo_importでDBに突っ込む時に,
can't open unix file "/var/tmp//phpJ6it2P": Permission denied
という Warning が表示されます.

PHPスクリプト中に system('ls -al /tmp'); を挿入し
ディレクトリを覗いてみると,パーミッションが 600 でファイルのオーナーが
httpd:wheel となっています.
# Apacheの動作ユーザ&グループは httpd:httpd です

前に同じ方法で作成したスクリプトだときちんと動作しているので,
何が違うのか? と悩んでいます.
# 前に作成したものはPHP3を利用しています.違うサーバで動いています.

原因は,ファイルのパーミッションだと思っているのですが,どうでしょう?
PHP4徹底攻略を見たところ(P.93)ファイルのパーミッションは 644 でしたので…

環境は,
Apache_1.3.20
PHP_4.0.6
PostgreSQL_7.1.3
です.