• ベストアンサー

xreaでファイル作成ができない。パーミッションが不足しているとのこと

xreaで以下のようなコードを書いたPHPファイルを実行しました。 if (($mixSource = fopen("../mail".$MailID.".htm","w")) === FALSE) { print("ファイルオープンでエラーが発生しました。");} fwrite($mixSource,$str); fclose($mixSource); そうしましたところ、権限が足りないというエラーが発生しました。 パーミッションを0777に設定しても、しばらくすると0705に戻っているため問い合わせると、0777は許可していないとのこと。 調査した結果、PHPをCGIとして動作させると良いらしいので、 AddHandler application/x-httpd-phpcgi .php と書いた「.htaccess」ファイルをアップロードしました。 そうするとファイル書き込みは正常に動作するようなのですが、 今度は session_start(); を実行すると Warning: session_start() [function.session-start]: open(/tmp/sess_igp2b7reu7aold9btdspuc2d57, O_RDWR) failed: Permission denied (13) というエラーとなります。 単純にxreaで、ファイル作成を行いたいだけなのですが、 方法をご存知ありませんでしょうか。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.3
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • arexis
  • ベストアンサー率66% (66/99)
回答No.2

あれこれ調べて実験していませんので駄レスになるかもしれませんが、 ■ phpで動かす場合 public_htmlの777禁止は確かにありえます。 ところで直下じゃないと駄目なのですか?(^^; 無理を通す方法より回避する方法を取って、専用ディレクトリ作って707にすれば解決するんじゃないかと思いますが、無理な話なのでしょうか? ■ cgiで動かす場合 sesssionのエラーに関しては、ブラウザをずっと開いたままで、phpファイルからCGIに変更して実行しませんでしたか? もしそうならブラウザを一旦閉じて再チャレンジしてみてください。 cgiで実行すると権限がユーザー名になるので、それまでのphp(権限apache)で作られたセッションファイルにアクセスできないと思いますので。

すると、全ての回答が全文表示されます。
  • ym035
  • ベストアンサー率50% (6/12)
回答No.1

XREAの204サーバを利用している者です. PHPをCGIとして動かさなくてもファイルの新規作成はできたはずです. 私の環境を確認したところ ・作成されるファイルを置くディレクトリのパーミッションは777 ・書き込む処理を行うPHPファイルのパーミッションは644 となっていましたのでお試しください.

dragstarsp
質問者

補足

さっそくのご回答ありがとうございました。 非常に助かります。 「作成されるファイルを置くディレクトリのパーミッションは777」 とのことですが、public_htmlの直下にファイルを作成したい場合、 public_htmlを777にする必要があると思います。 その場合、数分すると705に自動的に戻されるようなのです。 引き続きご回答いただければ幸いです。

すると、全ての回答が全文表示されます。