После долгих часов исследований, проб и ошибок с большим количеством параметров команды, пытаясь с разрешениями на стороне сервера, попытался добавить пользователя www-data в область admin, изменив разрешения для / home / www-data /. Папки gnupg и /home/mainuser/.gnupg ...
Я сделал что-то "тупое" и отправил эту команду ( $ commando = "gpg --gen-key"; ) чтобы узнать, смогу ли я сгенерировать секретный ключ с помощью сценария PHP, потому что я вроде как выяснил, что это связано с разрешениями на этом этапе, и я не смог войти в систему как www-данные в терминал.
Очевидно, что я не получил интерактивного ответа, но я думаю, он просто создал пустой ключ или что-то, потому что после того, как я снова попробовал исходную команду:
$ commando = "gpg -encrypt --passphrase = \ "$ password \" --armor --batch --yes --trust-модель всегда -r email@public.key \ "$ file_name \" ";
Это действительно сработало! Сервер создал текстовый файл и зашифрованный файл.
Итак, я не хочу верить в эту глупую вещь (" gpg --gen-key ")на самом деле «разгадал тайну», я хочу верить, что это была комбинация всего, что я сделал.
На всякий случай, если у кого-то еще возникла эта проблема, я нашел эти статьи действительно полезными.
Использование GPG (GnuPG с PHP на сервере .
gpg: ПРЕДУПРЕЖДЕНИЕ: небезопасное владение homedir /home/user/.gnupg
Чтоправильные разрешения для вложенной папки .gnupg?