[PHP-users 26785] Re: 外部PHPスクリプト実行でループ
Shigetaka Yachi
syachi @ brownmush.net
2005年 9月 6日 (火) 12:33:11 JST
矢地です。こんにちは。
From: HOTTA Michihide <hotta @ net-newbie.com>
Date: Tue, 06 Sep 2005 11:37:29 +0900
> ほんとにこう書いてます?プロセスリストには
> (超略)
> > /home/dev/cb/secure/manage/test.php
> > /home/dev/cb/secure/manage/exectest.php
>
> って書いてありますけど?
>
> exectest.php から自分自身を呼び出していませんか?
すもません、プロセスリストの方を写し間違えました。
exectest.phpというのは私の写し間違えで、実際にはありません。
もう一度、正確に書き直すと、
■呼び出す側
-----
$ cat /home/dev/cb/secure/manage/test.php
#!/usr/local/bin/php-cgi-4.3.11
<?php
$last_line = system('/usr/local/bin/php-cgi-4.3.11 -f /home/dev/cb/secure/manage/exec.php', $retval);
echo "Last line of the output: $last_line<br>\n";
echo "Return value: $retval<br>\n";
?>
-----
■呼び出される側
------
$ cat /home/dev/cb/secure/manage/exec.php
<?php
echo "hoge<br>\n";
sleep(10);
?>
-----
■psの結果
-----
6551 pts/3 S 0:00 /usr/sbin/apache
6552 pts/3 S 0:00 \_ [apache]
6553 pts/3 S 0:00 \_ [apache]
6554 pts/3 S 0:00 \_ [apache]
6555 pts/3 S 0:00 \_ [apache]
6556 pts/3 S 0:00 \_ [apache]
20077 pts/3 S 0:00 | \_ /usr/local/bin/php-cgi-4.3.11 /home/dev/cb/secure/manage/test.php
20078 pts/3 S 0:00 | \_ /usr/local/bin/php-cgi-4.3.11 -f /home/dev/cb/secure/manage/exec.php
20079 pts/3 S 0:00 | \_ /usr/local/bin/php-cgi-4.3.11 -f /home/dev/cb/secure/manage/exec.php
20080 pts/3 S 0:00 | \_ /usr/local/bin/php-cgi-4.3.11 -f /home/dev/cb/secure/manage/exec.php
20081 pts/3 S 0:00 | \_ /usr/local/bin/php-cgi-4.3.11 -f /home/dev/cb/secure/manage/exec.php
20082 pts/3 S 0:00 | \_ /usr/local/bin/php-cgi-4.3.11 -f /home/dev/cb/secure/manage/exec.php
20083 pts/3 S 0:00 | \_ /usr/local/bin/php-cgi-4.3.11 -f /home/dev/cb/secure/manage/exec.php
20084 pts/3 S 0:00 | \_ /usr/local/bin/php-cgi-4.3.11 -f /home/dev/cb/secure/manage/exec.php
20085 pts/3 S 0:00 | \_ /usr/local/bin/php-cgi-4.3.11 -f /home/dev/cb/secure/manage/exec.php
(以下、大量のプロセス)
-----
となります。
ブラウザからtest.phpを表示すると、
上記のようにループしてプロセスが大量に出来上がってしまします。
失礼しました。
--
Shigetaka Yachi <syachi @ brownmush.net>
PHP-users メーリングリストの案内