【发布时间】:2013-11-29 12:03:43
【问题描述】:
尝试用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/
提前致谢!
【问题讨论】:
-
我遇到了完全相同的问题。你能转储“php -i”输出吗?