Laravel v7项目运行报错:Call to undefined function openssl_cipher_iv_length()
问题原因
该报错是因为当前PHP 7.2环境未启用openssl扩展,Laravel v7的加密组件依赖该扩展提供的算法能力,缺失扩展就会找不到openssl_cipher_iv_length()方法。
解决步骤
- Windows环境
- 打开PHP安装根目录下的
php.ini配置文件 - 搜索定位到
;extension=openssl配置行,删除行首的分号;解除注释 - 重启Web服务(Apache/Nginx)或者PHP-FPM进程即可
- 打开PHP安装根目录下的
- Linux环境
- 根据你的发行版执行对应安装命令:
- Debian/Ubuntu系列:
apt install php7.2-openssl - CentOS/RHEL系列:
yum install php72w-openssl
- Debian/Ubuntu系列:
- 安装完成后重启PHP-FPM和对应的Web服务
- 根据你的发行版执行对应安装命令:
- 扩展生效验证
可以新建测试文件写入以下代码,访问后查看openssl扩展是否在输出列表中:
命令行模式下可以执行<?php phpinfo(); ?>php -m | grep openssl,输出openssl即说明cli端扩展已启用。
补充说明
如果使用的是XAMPP、WAMP、宝塔等集成环境,直接在集成面板的PHP扩展管理页勾选openssl选项,重启服务即可生效,无需手动修改配置文件。
内容的提问来源于stack exchange,提问作者Kundan Singh
相关产品推荐
相关产品推荐

