使用openssl时,PHP脚本暂停,没有错误

时间:2018-05-22 18:29:15

标签: php apache openssl

以下脚本在openssl_get_cipher_methods()调用时暂停,没有错误。它最初通过openssl_decrypt()调用来执行此操作。

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

echo extension_loaded('openssl') . '<br>';

print_r(openssl_get_cipher_methods());

echo '<br>end';

返回:

1

这可能是主机服务的问题吗?脚本输出表明模块已加载,phpinfo()返回:

openssl
OpenSSL support     enabled
OpenSSL Version     OpenSSL 1.0.2k-fips 26 Jan 2017 

1 个答案:

答案 0 :(得分:0)

openSSL的FIPS版本有点特殊。除此之外,他们似乎没有openssl_get_cipher_methods。 FIPS构建适用于必须遵守严格的加密规则的系统,其中代码必须是简约的,以便保持可证明的相同。

https://wiki.openssl.org/index.php/FIPS_Build_Guidelines

另见第47-53行:https://github.com/defuse/php-encryption/blob/master/src/RuntimeTests.php