[PHP-users 4024] Re: 外部プログラムの実行について

Sekiyama php-users@php.gr.jp
Fri, 30 Nov 2001 20:03:50 +0900


たくさんアドバイスいただいて、ありがとうございます。
通信障害で繋げない状態続いて、ちょっと空いてしまいました。

色々とやってみましたが、どうも上手くいきません。

test00.php4-------------------
#!/usr/local/bin/php
<html>
<head>
<title>test00</title>
</head>
<body>
<?php
$msg = system("ls");
print $msg ? $msg : "失敗したみたい。";
?>
<br>
OK!
</body>
</html>

これは上手くいきます。(当然でしょうけど・・・)

test01.php4------------------
#!/usr/local/bin/php
<?php
print "this is test01";
exit;
?>

test02.php4------------------
#!/usr/local/bin/php
<html>
<head>
<title>test02</title>
</head>
<body>
<?php
$msg = system("/usr/local/bin/php /home/****/public_html/test01.php4  > /dev/null &");
print $msg ? $msg : "失敗したみたい。";
?>
OK!
</body>
</html>

test02.php4は「失敗したみたい。」が表示されてします。
それで、
test02.php4で
$msg = system(/home/****/public_html/test01.php4  > /dev/null &")
と、やっても駄目で、

$msg = system("/usr/local/bin/php /home/****/public_html/test01.php4 > /test.txt &");
とやると、
test.txtのファイルは作成されるのですが、空の状態か、或いは、test02.php4
のソースが書き込まれています。

$msg = system(/home/****/public_html/test01.php4  > /dev/nul")
と「&」を取ると、3分ほど掛かって、結果「失敗したみたい。」になります。

パーミッションも色々変えてやってみましたが、駄目でした。

どこが悪いのでしょうか?


(サーバー会社にも問い合わせたのですが、やっぱりサポート外ということで、駄目でした。)


-----------------------
セキヤマ
sekiyama@pine.zero.ad.jp
-----------------------