在 PHP 中使用 GPG 加密 CHMOD 777 目录中的 .gzip 文件 - 错误代码 2
首先,我尝试了此处找到的两种解决方案: GPG 错误代码 2可以。我不太明白将 --homedir directory
设置为什么,所以如果有人可以帮助我弄清楚将其设置为什么,也许我仍然可以尝试该方法。
与此同时,我知道 GPG 在终端中作为 Root 运行良好 - 并且文件按预期创建。这段代码失败并显示错误代码 2:
<?php
$file = "/path/to/file.gzp";
system("gpg --encrypt --recipient 'shack' --yes --always-trust " . $file, $returnValue);
?>
有人知道这个问题吗?
To begin, I've tried the two solutions found here: GPG Error Code 2 The best I could. I don't quite understand what to set --homedir directory
to, so maybe I can still try that method if somebody can help me figure out what to set it to.
In the meantime, I know that GPG works fine in the terminal as Root - and the file is created as expected. It's this code that fails with error code 2:
<?php
$file = "/path/to/file.gzp";
system("gpg --encrypt --recipient 'shack' --yes --always-trust " . $file, $returnValue);
?>
Anybody know the issue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是一个权限问题;当 php 在网络服务器上运行时,它以
www-data
、nobody
等用户身份执行,而不是 root。使用运行 php 的用户配置 pgp 密钥(您可以使用su www-data
在交互式 shell 中进行测试)。您可能需要指定--homedir /some/directory
来存储和访问另一个目录中的密钥。This is a permission issue; when php runs on the webserver, it executes as the user
www-data
,nobody
or so, not root. Configure the pgp keys with the user php's running on (you can test in an interactive shell withsu www-data
). You may want to specify--homedir /some/directory
to store and access the keys in another directory.