[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
-----------------------