我正在使用OpenSSL加密变量值并使用PHP exec函数但由于某种原因它无法通过PHP代码工作。
$secret = '339e0asdadf5cdf77sdfsdfe24e52130a55dsdfdfsd1';
$buf = array();
$timestamp = date('Y-m-d H:i:s');
$cmd = 'echo "'.$timestamp.'" | openssl enc -aes-256-cbc -a -k '.$secret;
exec($cmd, $buf);
$timestamp = implode("\n", $buf);
echo 'TimeStampValue1: '.$timestamp.'<br><br>';
echo exec('echo Hello World!');
echo urlencode($timestamp).'<br>';
当我们执行命令时:
echo "2017-12-14 13:05:51" | openssl enc -aes-256-cbc -a -k 339e0asdadf5cdf77sdfsdfe24e52130a55dsdfdfsd1
在CMD上,它确实显示了加密值。请参见附件截图。但是,使用exec函数在PHP脚本上执行相同的命令时,它无法正常工作。
我们已经确认:
不确定为什么这不起作用似乎仍然没有在使用IIS作为网络服务器的PHP.INI文件中正确配置。