Brad, The error_log file is written by httpd (Apache). It actually just sounds like they need to upgrade their Zend Optimizer, which is a cinch to do. On 5/1/07, Brad Fuller <bfuller@xxxxxxxxxxxxxxxx> wrote:
Tijnema ! wrote: > On 5/1/07, Brad Fuller <bfuller@xxxxxxxxxxxxxxxx> wrote: >> Brad Fuller wrote: >>> Daniel Brown wrote: >>>> This way just lets it do it's own thing, with no output, and >>>> PHP won't hang. It'll continue from the CLI after the HTTP >>>> session is over. >>>> >>>> <? >>>> exec('php test.php > /dev/null 2>&1 &'); ?> >>>> >>>> >>>> On 5/1/07, Brad Fuller <bfuller@xxxxxxxxxxxxxxxx> wrote: >>>>> >>>>> >>>>> I found this on PHP.net: >>>>> >>>>> http://us.php.net/manual/en/function.exec.php >>>>> >>>>> Note: If you start a program using this function and want to leave >>>>> it running in the background, you have to make sure that the >>>>> output of that program is redirected to a file or some other >>>>> output stream or else PHP will hang until the execution of the >>>>> program ends. >>>>> >>>>> >>>>> This is what I want... I want to execute another PHP script from >>>>> the CLI, pass it a parameter and let it go to town after the HTTP >>>>> request closes. >>>>> >>>>> Can someone please illustrate how I can make this work? >>>>> >>>>> Thx, >>>>> >>>>> Brad >>>>> >>>>> -- >>>>> PHP General Mailing List (http://www.php.net/) To unsubscribe, >>>>> visit: http://www.php.net/unsub.php >>> >>> >>> It seems the script is calling itself even though I'm specifying a >>> different script to run... >>> >>> test2.php >>> >>> <?php echo "Hello, World!"; ?> >>> >>> >>> test1.php >>> >>> <?php >>> if( !isset($_POST['account_id']) || $_POST['account_id'] == >>> "" ) { echo "account_id is required."; >>> exit; >>> } >>> >>> // more stuff here... >>> >>> exec("/usr/bin/php -q /path/to/test2.php", $output); // >>> should run test2.php >>> >>> echo "<pre>"; >>> print_r($output); >>> echo "</pre>"; >>> >>>> >>> >>> >>> http://www.example.com/test1.php >>> >>> Expected Result: >>> >>> Array >>> ( >>> [0] => Hello, World! >>> ) >>> >>> >>> Actual Result: >>> >>> Array >>> ( >>> [0] => X-Powered-By: PHP/5.2.1 >>> [1] => Content-type: text/html >>> [2] => >>> [3] => account_id is required. >>> ) >>> >>> Can anyone explain this and possibly help me find a solution? >>> >>> Thx, >>> >>> Brad >> >> P.S. I am posting a form to the test1.php page with a valid >> account_id etc.; after re-reading the message I thought someone >> might think it's printing that result because nothing is posted. >> >> Update: >> >> I also found a file called "error_log" in the folder where test2.php >> resides, full of several of these lines: >> >> [01-May-2007 14:12:52] PHP Warning: Zend Optimizer does not support >> this version of PHP - please upgrade to the latest version of Zend >> Optimizer in Unknown on line 0 >> >> Could that have something to do with why the script is calling on >> itself instead of running the specified php script? >> >> I recently had the hosting company rebuild PHP, first they did >> --enable-suexec (to run PHP as CGI) and then later rebuilt again to >> --enable-pcntl and --enable-sigchild, as I thought I would be needing >> that functionality. Did that break the CLI? >> >> Please help, Thx. >> >> Brad > > > It seems that the php binary isn't the same version as the > php library used in the webserver and so that there's a > problem loading Zend. Are you sure that the PHP binary is > also replaced when they reinstalled PHP? > > Tijnema Well, I finally got it working... I simply call "php" instead of using the full path "/usr/bin/php". When I type "which php" from the shell I get "/usr/local/bin/php" so I'm not sure if the CLI binary maybe got moved when we switched to CGI mode or what, anyway I still get the Zend Optimizer Warning message when I run the script from the command line but for some reason it doesn't write to error_log when the script is called from the exec() function.. Maybe that's simply because the errors are being redirected to /dev/null... But anyway it works now :) I will call up our hosting company and see if we can do something about that Zend Optimizer warning. Thanks Daniel and Tijnema for the help. Cheers, Brad -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
-- Daniel P. Brown [office] (570-) 587-7080 Ext. 272 [mobile] (570-) 766-8107