[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 メーリングリストの案内