[PHP-users 30612] Re: system関数でdu

キャスターマイルド caster_mild_49401219 @ hotmail.com
2006年 10月 28日 (土) 15:36:53 JST


島田さま、Setoさま
ご返信ありがとうございます。


> 島田さま

> shell_execを使えば。
> print shell_exec("du");とか

これも同じような結果になります。

<?php
$output = shell_exec('du -s /home/');
echo "<pre>$output</pre>";
?>
は、
8244	/home/
となるのですが、

<?php
$output = shell_exec('du -s /home/username');
echo "<pre>$output</pre>";
?>
は空白で結果が返りません。

--------------------------------------------------------

> Setoさま

> >思い通りの結果が返りません。
> どのような結果となるのか書いたほうがいいですよ。

おっしゃるとおりです。
すみません (..;)

先ほどの
$last_line = system('du -s /home/username', $retval);
の結果は、空白(echoしている'Last line of the output'は出力されます)
です。

> >lsなどのコマンドは返ります。
> もちろん上のsystemを用いてですよね?

そうです。

> だったらそれに続いて
> ls /home
> ls /home/username

テストしてみました。
ls /home
なら結果が返りますが、
ls /home/username
は、空白が返ります。

同様にduの場合も
/home
は返りますが、
/home/username
は返りません。

※ちなみにusernameは、自領域で、パーミッションなども問題ありません。
 実際、sshでコマンドを打つと実行できます。

!!

もしかすると、実行ユーザーがapacheになるから
パーミッションの問題かもしれませんね。

試してみます。

-- 
キャスターマイルド <caster_mild_49401219 @ hotmail.com>





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