尝试使用gnupg加密邮件时,方法调用gnupg::keyinfo()
会抛出错误could not init keylist
.
这是我初始化扩展的方式:
putenv('GPGME_DEBUG=9:./gnupg/debug.log'); putenv('GNUPGHOME=./gnupg/'); $this->gpg = new gnupg(); $this->gpg->seterrormode(gnupg::ERROR_EXCEPTION);
gnupg确实存在的地方(调用is_dir('./gnupg')
返回true
- 我也尝试了绝对路径而没有成功).
一些其他信息:
使用完全相同的代码PHP-CLI
.(但是,我需要使用HTTP)
我正在使用ubuntu网络服务器: Linux name 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 GNU/Linux
gnupg版本:gpg --version
- >gpg (GnuPG) 1.4.10
基础设施:client
- > nginx
- > apache
- >php 5.3
为了测试,我已经设置了文件权限(递归): drwxrwxrwx 4 www-data web1 4096 29. Nov 12:30 .
debug.log显示以下错误:
_gpgme_io_set_close_notify (fd=0x282): enter: close_handler=0x7f6d2a409780/0x7f6d38edb730 _gpgme_io_set_close_notify (fd=0x282): error: Invalid argument
完整的调试日志在这里上传:http://nopaste.penguinfriends.org/view/84317/
提前致谢!