chave de importação GPG através do PHP não funciona (funciona em shell)
Pergunta
Eu tenho que importar uma chave GPG em um script PHP, ele funciona usando a linha de comando
gpg --import "/home/me/pubkey.txt"
mas não funciona usando a classe gpg
PHP com o método import
mesmo com a função gnupg_import
.
A minha configuração é:
- RedHat Enterprise Linux 5
- PHP 5.1.6
- GnuPG 1.4.5
- gpgme 1.1.8
- extensão GPG 1.3.1
Eu também tentei usar as funções exec
ou system
de PHP, mas sem sucesso, com a mesma linha de comando (obras exec('cat "/home/me/pubkey.txt"')
para que o arquivo é legível).
Editar : Ele funciona em Ubuntu 9.10 Server com o GnuPG 1.4.9, PHP 5.2.6.
Solução
Entendi! Eu sou o único que tinha o problema, Fabien postou esta pergunta no SO.
É uma questão de permissão de arquivo:. Ele tentou escrever no arquivo .gnupg on / root (HOME env var), mas PHP não pode escrever nele
Temos que mudar os direitos sobre este arquivo para que o PHP pode escrever nele, ou mover a um gravável diretório PHP.
O que é a melhor solução?