WebホスティングにおけるPHPのファイル操作について
safe mode に問題がある事はある程度承知しており、将来的に解除も考えているのですが、 今すぐはちょっと難しいです。
ただ、 sf.jp の場合は safe_mode_gid がセットされており、 ファイルチェックは gid を使って行われます。
mkdir と file_pub_contents が異なる uid で動いているという事はないと思います。 一般的にファイルやディレクトリを新たに作成する場合(mkdirは確実にこれです)と、 既に存在するファイルに書き込む場合は権限をチェックする対象が違います。 追加される側のディレクトリをチェックしますが、既に存在する場合はそのファイル自身に権限がつかわれます。
このあたりで引っかかっていないでしょうか。 もしくは具体的に問題が起きているファイルを指定して頂ければ、こちらでも調べる事が出来るかもしれません。
ご回答ありがとうございます。 ご指摘の点に注意して、もう一度、PHPの動作を確認してみようと思います。
もしまだ問題があれば再度openしてください。
お世話になっております。
PHPのファイル操作にかんする関数の実行に着いてですが、 ○ mkdir 関数はwww-dataのユーザで、 ○ file_put_contents 関数は、スクリプトと同等のユーザで と、2つの関数でコマンドを実行するユーザが異なっているように思えます。 (もし、間違っていたらすいません。。。)
現在、SFで開発させて頂いているAOWPのデモをWebサーバに公開したいのですが、 上記のPHPの挙動の為、サーバサイドスクリプトによるファイル操作がうまく行えません。
また、PHP の SAFE MODE についてですが、解除して頂く事はできないでしょうか? (sourceforge.net では解除していると聞きました。) セキュリティの面で多少有効な点も有るのかと思いますが、 コンセプト的におかしな仕様であり、PHP6では削除される機能である以上、 解除しても良いかと思っているのですが。。。 もし、素人の浅はかな考えであれば、申し訳ございません。。。