2015-06-28 98 views
0

我盡我所能在PHP中安裝GnuPG擴展,但它不起作用。PHP Gnupg不起作用

我遵循了很多指導,但我沒有成功。

這是代碼,它總是產生錯誤:

import failed

$keyring = "/var/www/.gnupg/"; 
putenv("GNUPGHOME=$keyring"); 
$GnuPG = new gnupg(); 
$GnuPG->seterrormode(GNUPG_ERROR_WARNING); 
$PublicData = "key text"; 
$PrivateData = "key text"; 

$PublicKey = $GnuPG->import($PublicData); -->error here 

$PrivateKey = $GnuPG->import($PrivateData); --> error here 

echo 'Public Key : ',$PublicKey['fingerprint'],' & Private Key :',$PrivateKey['fingerprint']; 
  1. 我試圖設置GNUPGHOME在apache的主目錄位於(/var/www/.gnupg)代碼,但它不起作用。

  2. 我給予Apache用戶(www-data)文件夾/var/www的權限(777),但它不起作用。

drwxrwxrwx 2 www-data www-data 4096 Jun 27 17:38 . 
drwxr-xr-x 3 root  root  4096 Jun 27 16:56 .. 
-rwxrwxrwx 1 www-data www-data 383 Jun 27 16:50 pubring.gpg 
-rwxrwxrwx 1 www-data www-data 383 Jun 27 16:50 pubring.gpg~ 
-rwxrwxrwx 1 www-data www-data 600 Jun 27 16:50 random_seed 
-rwxrwxrwx 1 www-data www-data 753 Jun 27 16:50 secring.gpg 
-rwxrwxrwx 1 www-data www-data 1280 Jun 27 16:50 trustdb.gpg 
  • Environement

    PHP 5.3.10

    的Ubuntu 12.04

    GPGME版本1.2.0

    GnuPG的擴展版本1.3.6

  • 在這個線程同樣的問題:

    PHP gnupg 'import failed'

    回答

    0

    您pubring.gpg和secring.gpg文件的訪問權限似乎是正確的。你可能想放棄執行(x),因爲這是不需要的。它會發生,文件損壞?也可能希望在strace下運行該程序,以查看它是否確實正在訪問這些文件。