[PHP-users 3493] Re: 外部プログラムについて

KOYAMA Tetsuji php-users@php.gr.jp
Mon, 12 Nov 2001 19:52:40 +0900


  小山です。

At Mon, 12 Nov 2001 18:59:02 +0900,
> スクリプトの中で、
> $result = `htpasswd -b password.dat adv1397 zxv876abc`;
> を実行させて、$resultに、'Updating password for user adv1397'といったメッセー
> ジを入れようと思って試したのですが、$result = ""となります。

  標準出力と標準エラー出力の違いは分かっていらっしゃるでしょうか?

  htpasswd は上記のメッセージを標準エラー出力に吐きますので、普通に ``
を使っただけでは結果を受け取れません。通常の UNIX であれば `` は sh に
渡されますので

	$result = `htpasswd -b password.dat adv1397 zxv876abc 2>&1`;

というように標準エラー出力を標準出力にリダイレクトしてやればよいはずで
す。

-- 
	小山 哲志@ビート・クラフト
	koyama@beatcraft.com
	koyama@hoge.org