无法在Symfony Controller中创建新的gnupg对象

时间:2017-08-14 02:38:48

标签: php symfony gnupg pgp gpg-signature

我正在将项目从纯PHP转换为Symfony,我在Symfony中使用gnupg时遇到了问题。

我的问题如下:我在PHP的文档之后配置了gnupg没有任何问题,我重新启动了我的网络服务器,我也重新启动了php-fpm。我刚刚创建了一个单独的php文件,以检查是否所有内容都已正确配置,并且所有工作正常。当我尝试将代码添加到Symfony的控制器中时出现问题。当我执行以下操作时:

putenv('GNUPGHOME=/home/kevingrab/.gnupg');
$gpg = '/usr/bin/gpg';
$gpg = new gnupg();

我在日志中收到以下错误:

request.CRITICAL: Uncaught PHP Exception Symfony\Component\Debug\Exception\ClassNotFoundException: "Attempted to load class "gnupg" from namespace "AppBundle\Controller". Did you forget a "use" statement for another namespace?" at /var/www/project/src/AppBundle/Controller/DefaultController.php line 147 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\ClassNotFoundException(code: 0): Attempted to load class \"gnupg\" from namespace \"AppBundle\\Controller\".\nDid you forget a \"use\" statement for another namespace? at /var/www/project/src/AppBundle/Controller/DefaultController.php:147)"} []

而且我不知道我该怎么做才能解决它,我试图在互联网上找到答案,但我没有看到任何有关Symfony这个问题的帖子。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以通过将\添加到实例化gnupg对象的代码来解决您的问题。

所以

$gpg = new \gnupg();

要了解为何会出现这种情况,请参阅Global space.