2017-08-14 51 views
0

我正在将项目从纯PHP转换为Symfony,并且在Symfony中使用gnupg时遇到问题。无法在Symfony控制器中创建新的gnupg对象

我的问题是:我配置gnupg跟随PHP的文档没有任何问题,我重新启动了我的web服务器,我也重新启动了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这个问题的任何帖子。任何帮助,将不胜感激。

回答

0

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

所以

$gpg = new \gnupg(); 

要知道为什么是这样的情况,请参阅Global space.

+0

感谢您的回复,我添加了“\”你告诉我,但我得到同样的错误呢。 ..你的回复有道理,但我得到相同的错误 –

+0

可能是未安装? sudo pecl gnupg – Vamsi

+0

是的,它已安装,它使用一个简单的php脚本,但不在Symfony的控制器内部 –