• 締切済み

ファイル作成に失敗する

@pagesとE-Townという2つのサーバーで同じPHPプログラムを動作させるのですが、 @pagesのほうは、phpファイルがあるパス上にしかファイルやディレクトリを作成できません。 パーミッションを手動で777に設定してもダメでした。 何が原因で、どのように対処したらいいのでしょうか? <コード> file_put_contents("file1", "piyo"); mkdir("./testdir"); chmod("./testdir", 0777);             <- ここまでは両者とも成功する file_put_contents("./testdir/file2", "piyo"); <- @pagesではこれが失敗する よろしくお願いします。

みんなの回答

  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.2

セキュリティの理由で、ディレクトリのパーミッション777 は使えないようにしてるところも結構ありますよ、@pagesもそのようです。 共有サーバーにプログラムをアップロードするなら、そこのヘルプはつぶさに読むべきだと思う。 http://www10.atwiki.jp/atpagesguide/pages/16.html#id_2e8e3298

minimax2005
質問者

お礼

回答ありがとうございます。 ヘルプは見ていろいろ試したのですが、うまくいきませんでした。

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

phpの動作モードは確認されていますでしょうか。作成したディレクトリのownerは何になっていましたか? また0777でなく、0707とか0705、0701などでもダメでしたか?

minimax2005
質問者

お礼

回答ありがとうございます。 0707とか0705、0701などもだめでした。 オーナーは、他のファイルはみな私のユーザー名だったのに、作成したディレクトリは2ケタの数字でした。 これはphpスクリプトを動作させているユーザーの番号なのでしょうか? 動作モードはsafe_modeだと書いてありました。

minimax2005
質問者

補足

動作モードとはCGI版かモジュール版かということだったですね。 Server API  : Apache 2.0 Handler と書いてあって、モジュール版でした。

関連するQ&A

専門家に質問してみよう