phpEnv是一款常用的Windows平台PHP集成开发环境,很多开发者在本地开发需要加密传输功能的项目时,会发现默认的phpEnv环境没有开启openssl扩展,导致相关加密函数无法调用。下面介绍具体的开启方法。

phpEnv开启openssl扩展的步骤
第一步:找到php.ini配置文件
打开phpEnv控制面板,在主界面找到当前使用的PHP版本,点击右侧的php.ini按钮,即可直接打开对应版本的配置文件。如果手动查找,配置文件路径通常在phpEnv安装目录下的phpphp版本号php.ini位置。
第二步:修改php.ini配置
在php.ini文件中搜索extension=openssl,默认的这行配置前面会有分号注释,需要把分号去掉,让配置生效。如果搜索不到这行配置,可以手动在文件末尾添加extension=openssl。
修改完成后保存php.ini文件,注意如果文件是被只读属性锁定,需要先修改文件属性为可写再保存。
第三步:重启phpEnv服务
回到phpEnv控制面板,点击停止按钮停止当前运行的Apache或者Nginx服务,等待服务完全停止后,再点击启动按钮重新启动服务,让修改后的配置生效。
验证openssl扩展是否开启成功
可以创建一个PHP测试文件,代码如下:
<?php
// 检查openssl扩展是否加载
if (extension_loaded('openssl')) {
echo 'openssl扩展已成功开启';
// 测试简单的加密功能
$data = '测试加密传输数据';
$encrypted = openssl_encrypt($data, 'AES-128-ECB', 'test_key');
if ($encrypted) {
echo '<br/>加密功能测试通过,加密结果:' . $encrypted;
} else {
echo '<br/>加密功能测试失败';
}
} else {
echo 'openssl扩展未开启';
}
?>
把上述代码保存为test_openssl.php,放到phpEnv的网站根目录下,通过浏览器访问这个文件,如果页面显示openssl扩展已成功开启,并且能输出加密结果,说明扩展已经正常生效。
常见问题解决
- 如果去掉注释后重启服务还是无法加载扩展,检查php目录下是否有
php_openssl.dll文件,没有的话需要下载对应PHP版本的这个dll文件放到ext目录中。 - 如果开启后调用加密函数报错,检查PHP版本是否和openssl扩展版本匹配,避免版本不兼容导致功能异常。
- 部分情况下需要同时开启
extension=php_curl.dll扩展,才能完整支持HTTPS相关的加密传输功能。