当遇到调用gpg来加密文件的exec()命令时,我遇到了与session_start()命令的令人费解的冲突。
$output = exec("gpg --batch --passphrase asdf --symmetric --output ../files/test/uploads/smalltext.txt.gpg ../files/test/uploads/smalltext.txt 2>&1" ,$test);
print_r($test);
exit;
上面的代码可以使用
session_start();
$output = exec("gpg --batch --passphrase asdf --symmetric --output ../files/test/uploads/smalltext.txt.gpg ../files/test/uploads/smalltext.txt 2>&1" ,$test);
print_r($test);
exit;
此代码不起作用,它会说明
gpg:无法打开../ files / test / uploads / smalltext.txt
gpg:../files/test/uploads/smalltext.txt的对称加密失败:没有这样的文件或目录
目前我唯一的工作就是调用session_destroy();并设置$ _SESSION = array();从而重置它,调用exec,然后重新设置我的所有会话信息。