* J.Mueller, pro.vider.de GmbH ([EMAIL PROTECTED]) [Dec 22. 2001 10:03]: > Hello Everybody,
Hiya. > we have a problem to implement a PGP-function into > a PHP-Script. PHP 4.0.6 as CGI, Apache 1.3.11, FeeBSD 4.2 > a) > PGP from the command line works: > % pgps -ato test.sig test.txt -z passphrase > b) > Calling a little PHP Script > $kommando = "/usr/local/bin/pgps -ato test.sig test.txt -z passphrase"; > exec("$kommando",$antwort); > to do so, also everything works fine: > % virtual /usr/local/bin/php /etc/test-pgp.php > Creating output file test.sig > X-Powered-By: PHP/4.0.6 > Content-type: text/html > c) > But when we use this very same PHP-code within a script, and call this > script through the web, it's not working anymore and the error_log > says > Cannot open configuration file pgp.cfg > Cannot open secret keyring "secring.skr" > Cannot open public keyring "pubring.pkr" > Why is that and can this problem be solved ? This happens because when you run this from the shell, it's picking up your environment. Apache has a completely different environment. You need to create a dummy keyring for Apache's user in the location this may provide: <?php $effective_user = posix_getpwuid(posix_geteuid()); print 'Apache is: ' . $effective_user['name']; print '<br>Home is: ' . $effective_user['dir']; ?> Or you can use putenv() to make apache temporarily use another $HOME that has the correct keyrings. YMMV -- Brian Clark | Avoiding the general public since 1805! Fingerprint: 07CE FA37 8DF6 A109 8119 076B B5A2 E5FB E4D0 C7C8 I think you need to flash your brain's firmware. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]