无法在 Symfony 控制器中创建新的 gnupg 对象

Unable to create new gnupg object in Symfony Controller

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

我的问题如下:我按照 PHP 的文档配置了 gnupg,没有任何问题,我重新启动了我的网络服务器,我还重新启动了 php-fpm。我刚刚创建了一个 php 文件来检查是否所有配置都正确并且在纯 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 的这个问题的 post。任何帮助将不胜感激。

您可以通过在实例化 gnupg 对象的代码前加上 \ 来解决您的问题。

所以

$gpg = new \gnupg();

要了解为什么会这样,请参阅Global space.