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