在PHP中使用PGP加密文件,GnuPG版本意外

在PHP中使用PGP加密文件,GnuPG版本意外,php,encryption,gnupg,Php,Encryption,Gnupg,我在php中使用gnupg加密内容 在开发环境中,加密消息以以下开头: -----开始PGP消息------ 版本:gnupgv2.0.22(GNU/Linux) 对于生产环境,加密消息以以下内容开头: -----开始PGP消息----- 版本:gnupgv1 我不明白为什么文件加密方式不同。两者都是有效的加密,但解密方式不同(对于收件人而言,“gnupgv2.0.22(GNU/Linux)”版本将文件名保留在解密状态,而另一个版本则不保留,这导致了端部问题) dev和prod之间的以下内容似乎

我在php中使用gnupg加密内容

在开发环境中,加密消息以以下开头:

-----开始PGP消息------ 版本:gnupgv2.0.22(GNU/Linux)

对于生产环境,加密消息以以下内容开头:

-----开始PGP消息----- 版本:gnupgv1

我不明白为什么文件加密方式不同。两者都是有效的加密,但解密方式不同(对于收件人而言,“gnupgv2.0.22(GNU/Linux)”版本将文件名保留在解密状态,而另一个版本则不保留,这导致了端部问题)

dev和prod之间的以下内容似乎是相同的:gpg.conf文件、php版本、pear版本、gpg版本、CentOS-version。对于密钥,我将.gpg目录从dev复制到prod(权限相同)

如何让prod服务器在加密上使用GnuPG的v2.0.22


谢谢大家!

从dev机器上复制了/usr/lib64/php/modules/gnupg.so,这在prod中正常工作。根据SA,由于权限的原因,存在编译问题。

从dev机器复制了/usr/lib64/php/modules/gnupg.so,这在prod中正常工作。根据SA,由于权限问题,出现编译问题。

您安装了不同版本的gpnpd。对于php perl,没有2.0 gnupg。感谢您的注释。gnupg版本是相同的(我认为)。命令:“pecl info gnupg”在两种环境中都显示“pecl.php.net/gnupg-1.4.0”。命令“pecl version”在两种环境中也显示相同的结果。您安装了不同版本的gpnpd。对于php perl,没有2.0 gnupg。感谢您的注释。gnupg版本是相同的(我认为)。命令:“pecl info gnupg”在两种环境中都显示“pecl.php.net/gnupg-1.4.0”。命令“pecl version”在两种环境中也显示相同的结果。