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

发布于 2024-12-01 01:36:26 字数 441 浏览 1 评论 0原文

首先,我尝试了此处找到的两种解决方案: 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

汐鸠 2024-12-08 01:36:26

这是一个权限问题;当 php 在网络服务器上运行时,它以 www-datanobody 等用户身份执行,而不是 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 with su www-data). You may want to specify --homedir /some/directory to store and access the keys in another directory.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文