我使用自制软件安装了gnupg和gpgme。 我还链接了两个并确保通过运行brew gnupg install和brew gpgme install来安装和链接它们并获得确认安装和版本的消息。
我已将gnupg.so文件放在扩展路径中,并将extension = gnupg.so添加到php.ini文件中。
我从infophp页面获得了扩展路径和特定的php.ini路径。
重新启动mamp之后,我仍然没有看到gnupg或gpgme作为phpinfo的扩展,我也不能在我的php代码中使用gnupg。
使用$gpg = new \gnupg();
这给了我一个错误,说gnupg类不存在。
[Symfony\Component\Debug\Exception\FatalThrowableError]
Class 'gnupg' not found
我尝试了另一种方法: 我还从他们的网站上手动下载了gnupg和gpgme,然后将它们运行起来
./配置,
请,
sudo make install,
并且能够再次成功安装,同时确保gnupg.so与phpinfo页面中显示的扩展路径相同,并且还将extension=gnupg.so
添加到phpinfo中显示的同一个php.ini中page(我在php.ini文件中的所有其他扩展名后面添加了extension = gnupg.so)
我正在使用:
mac os high sierra 10.13.3
php 7.1.12
mamp 4.4.1
gnupg 2.2.5(我尝试使用brew安装此版本)
gnupg 1.4.0(我试过这个版本从gnupg.org下载)
gpgme 1.10.0
我也想知道,在希望修复上述问题之后,我是否需要在我的php文件中包含任何内容才能使用gnupg?
gnupg和gpgme有什么区别?我是否需要两者才能加密php中的文件?
如果我无法解决此问题,那么加密xml文件或包含文本数据的文件的另一种方法是什么?我需要将文件和FTP加密到另一台服务器并在那里解密。
提前感谢大家的帮助
答案 0 :(得分:0)
我能够使用Pecl安装GnuPG来解决此问题。 This link helped me a lot as well.
运行以下命令以安装库:
现在,使用以下命令验证一切是否正常:
如果一切正常,您将看到以下内容: