OpenSSL没有使用PHP exec函数在窗口上工作

时间:2017-12-14 18:51:50

标签: php windows encryption exec php-openssl

我正在使用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脚本上执行相同的命令时,它无法正常工作。

我们已经确认:

  • 在PHP配置文件中启用了exec功能。
  • 在PHP配置文件中启用了OpenSSL。
  • OpenSSL路径也在环境变量上设置。
  • PHP错误日志未在代码中显示任何错误。我们的错误日志维护在c:/ windows / temp

不确定为什么这不起作用似乎仍然没有在使用IIS作为网络服务器的PHP.INI文件中正确配置。

0 个答案:

没有答案