0

ファイルを暗号化するために 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 を呼び出してから、すべてのセッション情報を再設定します。

4

0 に答える 0