[PHP-users 11076] Re: system()での外部コマンド実行について

Takashi Seki php-users@php.gr.jp
Thu, 24 Oct 2002 18:51:31 +0900


"aiko" <vvv_aiko_vvv@hotmail.com>さま

はじめまして、関といいます。

> retCode=127
リターンコードから察するに
ls にパスが通っていないのではないでは?

/bin/ls のようにフルパスではどうでしょう?

また、ちなみに system をつかうと自動的に出力されてしまうので、
結果をすべて変数にいれたいのなら exec を使います。

<?php
        exec("/bin/ls -l", $ret, $retCode);

        print "----- ret<br>\n";
        while(list($key, $value) = each($ret))
          {
                print("$value<br>\n");
          }
        print "-----<br>\n";

        print("retCode=".$retCode);
?>

On Thu, 24 Oct 2002 09:12:16 +0000
"aiko" <vvv_aiko_vvv@hotmail.com> wrote:

> こんにちは。system()を使って外部コマンドを実行させたいのですが
> エラーが返ってきて(以下に記述)、実行できないのです。
> 
> "ls -l"などの簡単なコマンドで試してみても無理でした。
> 
> Linuxのコマンド起動と、PHPのコマンド起動で書き方に違いがある?
> のか
> PHP側で設定等ある?
> のか。
> 
> 過去ログ,google等検索したのですが、いまいち納得できるログに出会えませんでし
> た。
> 
> とても初歩的な質問であるとは思いますが、
> 分かる方いらっしゃいましたらよろしくおねがい致します。
> m(_ _)m
> 
> *再現用ソース* sysTest.php
> −−−−−−−−−−−−−−−−−−−−−−−−−−−−−
> <?php
> //      $ret = system("ping yahoo.com",$retCode);
> //      $ret = system("mkdir aaaa.php",$retCode);
> //      $ret = system("ls /home/httpd/html/",$retCode);
>         $ret = system("ls -l",$retCode);
>         print("<br>ret=". $ret);
>         print("<br>retCode=".$retCode);
> ?>
> −−−−−−−−−−−−−−−−−−−−−−−−−−−−−
> 実行結果
> ret=
> retCode=127
> 
> 
> PHP Version 4.2.1
> Red Hat 7.3
> 
> 
> 
> 
> 
> 
> _________________________________________________________________
> ネットを使うひとに有利な特典いっぱい MSN カード  http://card.msn.co.jp/ 
> 
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
      関   隆 (SEKI, Takashi)
---------------------------------------
[E-mail] hawk.seki@nifty.com
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=