У меня была такая же проблема, но для команды декодирования
Сначала вы можете получить сообщение об ошибке, перенаправив stderr на стандартный вывод.
$cmd = "/usr/bin/gpg -a --recipient $to -e -o $outfile $infile 2>&1";
Затем вы можете изменить параметры gpg в соответствии с вашими потребностями. Поскольку у меня были файлы, зашифрованные ключом с парольной фразой, мне пришлось добавить несколько параметров.
Я начал с
gpg -o $out -d $path
Но он пожаловался, что не может открыть tty, затем с --no-tty выводит некоторые другие ошибки и, наконец, команда для декодирования файлов с ключом с парольной фразой -
gpg --batch --passphrase $pass_phrase --no-tty -o $outfile -d $path_to_encoded_file
Надеюсь, это кому-нибудь поможет.