2017-08-14 120 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的控制器內部 –