[PHP-users 17679]Re: ファイルが作成できない(was Re:アプレットとPHPとの通信)

Osamu Shigematsu m5issige @ mr.hitachi-medical.co.jp
2003年 9月 4日 (木) 14:40:55 JST


重松です。こんにちは。

> fopenのプロセスは、他のもので書き込みを確認しましたので、パーミッションは
> 問題ないようです。ただ、$HTTP_RAW_POST_DATA は、PHP4.0.6では取得できない
> ようなので、他のパラメータで確認しました。

まずは問題を切り分けることを考えてください。

それに、できない、確認した、では、何も第三者には分かりません。
具体的に、時系列的に、テストしてスクリプトや、その結果をコピペして、状況
をもっと分かりやすく記述してください。

例えば、shell (CLI) で実行するのと httpd 経由 (DSO) だと、実行者が違いま
すから、確認したことにはなりません。

> また、xxx.phpを <? phpinfo(); ?> だけのファイルにして試してみましたが、
> 表示がされないようです。

は、開始部分が short tag になってますが、本当にそのままですか? short tag 
は有効ですか? 出力はどのように確認しましたか?

これじゃあ何も分からないので、

	curl 'http://yourhost.example.com/test-info.php' | od -tx1

とでもやって、いったいどういう内容が帰っているのかダンプしてみてください。

short tag が無効になっている、あるいは、セキュリティ上の理由から、
phpinfo が殺してある、いろいろな理由がありすぎて絞り込めません。

[PHP-users 17640] もパーミッションやパスの問題でしたので、もしかしたらヒ
ントがあるかもしれません。

とりあえず、原因を切り分けるために、追記が可能であることを調べることをお
勧めします。

<?php
$fp = fopen('/path/to/working/directory/test.txt', 'a');
if ($fp) {
	fputs($fp, "Test!\n");
	fclose($fp);
}
else {
	die('ファイルが開けなかったみたい');
}
?>

あらかじめ、666 のパーミッションで、'/path/to/working/directory/test.txt' 
を作っておきましょう。

成功すると、Test! という行がどんどん追記されるはずです。

-- 
Osamu Shigematsu <m5issige @ mr.hitachi-medical.co.jp>



PHP-users メーリングリストの案内