>Hi, >Appologies if this comes through twice. I tried to post it via goolg groups >but it didn't seem to work. > > >If I run the following script from within apache, then the script >fails and returns $error=2 ><?php >$data="this is a test"; >$GNUPGHOME="/home/nobody/.gnupg"; >putenv("GNUPGHOME=$GNUPGHOME"); >$HOME="/home/nobody/"; >putenv("HOME=$HOME"); >system ("echo '$data' |/usr/bin/gpg -vv --clearsign -u testing -o >/home/httpd/html/nic/output --passphrase-fd 2 >2</home/httpd/html/nic/test",$error); >print $error; >?> >. >I've seen quite a lot on the web about this suggesting that it's a >permissions problem. >However, If I add #!/usr/bin/php to the top of the script and make it >executable, then su to 'nobody' (which appache runs as) then the >script runs perfectly from the command line - so I think that the >permissions are all OK. >Any ideas where I'm going wrong?
Does <?php phpinfo();?> really and truly say that PHP is running as 'nobody'? Is there really a "nobody" directory? I think part of the point of using "nobody" is that they shouldn't even *have* a directory in the first place... If the .gnupg files/directories all involved are owned by 'nobody' anyway, make them world readable and writable. It's not all that different at that point anyway, since anybody would write a PHP script running as 'nobody' to read/write them. Is /home/httpd/html/nic/output really world-writable?... Scary. I don't claim to understand that 2< ...test crap, but I'm guessing you're trying to re-direct errors somewhere? Try taking that out for now, use exec() instead of system() and see what output you actually get: exec($command, $result, $error); echo implode("", $result); You may be a lead from that on where things are breaking. -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php