人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPのtouch()関数を使っってファイルを作成したいのですが、以下のようなエラーが出ます
Unable to create file [ファイルパス] because Permission denied,
ファイルを作成するディレクトリのパーミッションは777に設定していますが、
エラーが消えません…
パーミッション以外にはどんな原因が考えられるでしょうか?

●質問者: k-motoyan
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● uwao

サーバーによりますが、「777」のディレクトリ内にファイルを作成出来なくなるサーバーがあります。
おそらく、安全性を考慮して、「誰でも読み書き実行全て許可する」というのは駄目という事だと思います。
「757」や「755」などに設定すると作成出来るかもしれません。


k-motoyanさんのコメント
パーミッションの組み合わせは色々試してみたのですが、 どれも結果は同じでした…

2 ● TransFreeBSD

ACLが有効になってる可能性も。
http://www.itmedia.co.jp/enterprise/0403/06/epn01.html
というかOSはなんです?


TransFreeBSDさんのコメント
コメント見逃してました。すみません。

k-motoyanさんのコメント
ACLのオプションを確認してみましたが、無効になっているようです

3 ● taroe
ベストアンサー

シンボリックリンクに対して
chmod 777
とかしてませんか?

だから、実際のディレクトリのパーミッションが777になっていない。

どちらにせよ、
touch()でエラーになる前に
パーミッションを表示するコードを入れればはっきりすると思う。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ