I'm beggining to develop the theory that things go awry when using exec from within a webserver-executed PHP script to call a shell script itself written in PHP.
The example that I'm really trying to do might be too complicated for presentation here, but here's a simplified version. Take the shell script "helloWorld.php": #!/usr/local/bin/php -q <?PHP print "\nHello World!"; ?> Now take a calling wrapper: <?PHP $execStr = "/usr/home/jakus1/www/htdocs/form2mail/helloWorld.php"; echo "\n<br>Calling: ($execStr)"; $output = exec($execStr); echo "\n<br>Called: ($execStr)"; echo "\n<br>output: ($output)"; ?> Note that there are no loops or recursing in those scripts. I bring that up because of the bizzare results I'm getting. Brace yourselves: Calling: (/usr/home/jakus1/www/htdocs/form2mail/helloWorld.php) Called: (/usr/home/jakus1/www/htdocs/form2mail/helloWorld.php) output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ( output: ())))))))))))))))))))))) (See http://fsboutah.net/form2mail/testphpcall.php ) So... not only am I not getting the expected result back in $output, something really weird is going on. If, however, I change the $execStr assigning line in the calling script to: $execStr = "ls -l"; I get what I expect: Calling: (ls -l) Called: (ls -l) output: (-rw-r--r-- 1 jakus1 vuser 193 Sep 23 01:27 testgrcall.php) (See http://fsboutah.net/form2mail/testlscall.php ) I wondered if it might just be a problem with calling bang-begun scripts, so I tried a helloWorld.sh: #!/bin/sh echo Hello World (See http://fsboutah.net/form2mail/testshcall.php ) And got: Calling: (/usr/home/jakus1/www/htdocs/form2mail/helloWorld.sh) Called: (/usr/home/jakus1/www/htdocs/form2mail/helloWorld.sh) output: (Hello World) (See http://fsboutah.net/form2mail/testshcall.php ) Similar results for perl (see http://fsboutah.net/form2mail/testplcall.php ). Anyone have an idea of the black magic that forbids trying to do this with php? Thanks, Weston -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php