【发布时间】:2011-10-13 08:43:32
【问题描述】:
我需要帮助使用 GPG 在 PHP 中加密文件。我做了一些研究,但我还没有找到解决方案。
在命令行中使用 GPG 效果很好,但是当我从 PHP 中尝试时,我得到一个返回值 2。 我还尝试过将“--yes --always-trust”作为额外的开关传递给命令,正如关于 SO 的答案之一所建议的那样,但没有任何乐趣。
我尝试过使用 PHP 中内置的 gnupg 函数——我发现的所有示例都显示了如何加密字符串而不是文件。将文件作为字符串读取对我来说不起作用,因为我正在处理大至 15MB 的大文件。
我需要帮助!
环境详情
OS: Windows 7
PHP installation: WAMP Server 2.1
代码
$path = "c:\wamp\www";
$recipient = "Test user";
$encrypted_file = "c:\wamp\www\test.txt.gpg";
$decrypted_file = "c:\wamp\www\decrypted_test.txt";
$plain_file = "c:\wamp\www\test.txt";
exec('gpg --homedir $path --recipient $recipient --output $encrypted_file --encrypt $plain_file --yes --always-trust', $answer, $rtn);
var_dump($answer);
var_dump($rtn);
echo "<br />ANSWER: ".$answer;
echo "<br />RTN: ".$rtn;
输出
array(0) { } int(2)
ANSWER: Array
RTN: 2
PHP User: nt authority\system
【问题讨论】: