Re: popen - command line vs. web server performance
"yawnmoth" <terra1024@yahoo.com> wrote in message
news:a0d63404.0410101216.791b779e@posting.google.c om...
> 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?
Could be a DLL incompatibility problem. The DLL search path in Windows, if I
remember correctly, goes like this: the current folder, the folder
containing executable, the system32 folder. If your webserver is running a
different version of PHP than the command line one, then the wrong DLL could
get loaded. Do a search for php4ts.dll and see if there're multiple copies.
|