通过 PHP 导入 GPG 密钥不起作用(在 shell 中工作)
题
我必须在 PHP 脚本中导入 GPG 密钥,它可以使用命令行运行
gpg --import "/home/me/pubkey.txt"
但不能使用 PHP gpg
类与 import
方法即使与 gnupg_import
功能。
我的配置是:
- 红帽企业 Linux 5
- PHP 5.1.6
- GnuPG 1.4.5
- GPGme 1.1.8
- GPG 扩展 1.3.1
我也尝试使用 exec
或者 system
PHP 的功能,但没有成功,使用相同的命令行(exec('cat "/home/me/pubkey.txt"')
有效,因此文件可读)。
编辑:它适用于带有 GnuPG 1.4.9、PHP 5.2.6 的 Ubuntu 9.10 服务器。
解决方案
知道了 !我是遇到这个问题的人,Fabien 在 SO 上发布了这个问题。
这是一个文件权限问题:它尝试写入 /root(HOME 环境变量)上的 .gnupg 文件,但 PHP 无法写入其中。
我们必须更改此文件的权限,以便 PHP 可以写入该文件,或者将其移动到 PHP 可写入的目录。
最好的解决方案是什么?
不隶属于 StackOverflow