2010-01-07 6 views
0

Je dois importer une clé GPG dans un script PHP, il fonctionne en utilisant la ligne commandeGPG import par PHP ne fonctionne pas (œuvres décortiqués)

gpg --import "/home/me/pubkey.txt" 

mais ne fonctionne pas en utilisant la classe PHP gpg avec la méthode import même avec la fonction gnupg_import.

Ma configuration est:

  • RedHat Enterprise Linux 5
  • PHP 5.1.6
  • GnuPG 1.4.5
  • gpgme 1.1.8
  • GPG l'extension 1.3.1

J'ai également essayé d'utiliser le exec ou system fonctions de PHP, mais sans succès, avec la même ligne de commande (exec('cat "/home/me/pubkey.txt"') fonctionne donc le fichier est lisible).

Modifier: Il fonctionne sur Unbuntu 9.10 Server avec GnuPG 1.4.9, PHP 5.2.6.

+0

Quel est le message d'erreur? –

+0

Le problème est qu'il n'y a aucun message d'erreur donné par gnupg_geterror(). Pas d'avertissement PHP, rien. –

+0

Avez-vous essayé exec et system avec les paramètres de référence optionnels, et print_r leur valeur? Le fichier gpg est-il exécutable dans safe_mode_exec_dir? Par exemple. sur mon chat Ubuntu est dans/bin /, alors que gpg est dans/usr/bin /, voir les notes sur http://us.php.net/manual/fr/function.exec.php – Residuum

Répondre

1

L'a reçu! Je suis celui qui a eu le problème, Fabien a posté cette question sur SO.

Il s'agit d'un problème d'autorisation de fichier: il a essayé d'écrire dans le fichier .gnupg sur/root (la variable env de HOME) mais PHP ne peut pas y écrire.

Nous devons changer les droits sur ce fichier pour que PHP puisse y écrire, ou le déplacer dans un répertoire accessible en PHP.

Quelle est la meilleure solution?