PHP Gnupg未在phpinfo()中显示为扩展名,我无法在php中使用它

问题描述 投票:0回答:1

我使用自制软件安装了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中(在php.ini文件中的所有其他扩展名之后添加了extension = gnupg.so)

我正在使用:

mac os high sierra 10.13.3

php 7.1.12

模板4.4.1

gnupg 2.2.5(我使用brew install尝试了此版本)

gnupg 1.4.0(我尝试从gnupg.org下载此版本)

gpgme 1.10.0

我也想知道,在希望解决上述问题之后,为了使用gnupg,我是否需要在PHP文件中包含任何内容?

gnupg和gpgme有什么区别?我是否都需要两个文件才能在php中加密文件?

如果无法解决此问题,还有什么方法可以加密xml文件或包含文本数据的文件?我需要加密文件和FTP到另一台服务器,然后在那儿解密。

谢谢大家的帮助

php encryption mamp gnupg gpgme
1个回答
0
投票

我能够使用Pecl安装GnuPG来解决此问题。This link helped me a lot as well.

运行以下命令以安装库:

© www.soinside.com 2019 - 2024. All rights reserved.