在PHP中使用GPG加密CHMOD 777目录下的.gzip文件-错误代码2


Using GPG to encrypt .gzip file in CHMOD 777 directory within PHP - Error code 2

一开始,我尝试了这里找到的两种解决方案:我不太明白该把--homedir directory设置成什么,所以如果有人能帮我弄清楚该把它设置成什么,也许我仍然可以尝试这个方法。

同时,我知道GPG作为Root在终端中工作得很好-并且文件按预期创建。错误码2:

<?php
$file = "/path/to/file.gzp";
system("gpg --encrypt --recipient 'shack' --yes --always-trust " . $file, $returnValue);
?>

有人知道这个问题吗?

权限问题;当php在web服务器上运行时,它以www-data, nobody或其他用户执行,而不是root用户。在运行用户php的情况下配置pgp密钥(您可以使用su www-data在交互式shell中进行测试)。您可能希望指定--homedir /some/directory来存储和访问另一个目录中的密钥。