View Single Post

  #3 (permalink)  
Old 10-12-2004
yawnmoth
 
Posts: n/a
Default Re: popen - command line vs. web server performance

"Pjotr Wedersteers" <x33159@westerterp.com> wrote in message news:<416a4bc1$0$78279$e4fe514c@news.xs4all.nl>...
> yawnmoth wrote:
> > say i have the following two php scripts:
> >
> > ptest.php:
> > <?
> > $p1 = popen("c:\\php\\php -q hello.php","r");
> > $p2 = popen("c:\\php\\php -q hello.php","r");
> > while (!feof($p1))
> > print fgets($p1);
> > while (!feof($p2))
> > print fgets($p2);
> > pclose($p1);
> > pclose($p2);
> >>

> >
> > and
> >
> > hello.php:
> > <?
> > print "hello,\nworld!\n";
> >>

> >
> > when i run ptest.php via the command line (ie. by typing in c:\php\php
> > ptest.php at the dos prompt) it runs instantly.
> >
> > when i run ptest.php via a webserver, the resultant page not only
> > doesn't even load - it results in a bunch of errors (that appear as
> > dialogue boxes on the machine doing the hosting) effectively saying
> > that the command failed to execute properly and will now be shut down.
> > after clicking through all the errors, the systems performance is
> > noticebly affected (and in fact is bad enough such that i think a
> > reboot is justified).
> >
> > any ideas as to why this is, and what i can do to fix it?

>
> Did you look at taskmanager to see what causes the poor performance ? Must
> be some process hogging the cpu, would help to see if it has to do with
> apache (or IIS?) Other than that, is it a typo here or does your hello.php
> miss a ? before the end > ???


yeah - that was a typo. the actual hello.php file has it. anyway,
looking at task manager, i see that a *bunch* of php and cmd processes
are being created, and none are ending. so, what i assume happening
is that the computers memory is just being exhausted.

i tried to replace print "hello,\nworld\n" with
exit("hello,\nworld!\n") to no avail.

the exact error i get is as follows:

The application failed to initialize properly (0xc0000142). Click on
OK to Terminate.

i get that for both php.exe and cmd.exe.

in contrast, when i run it from the command line, it takes place so
fast that i don't see any process being created.
Reply With Quote