PHP未启用openssl扩展会导致SSL函数失败等问题,需通过修改php.ini、集成环境图形界面、Linux包管理器、Homebrew重装或验证测试等方法启用并确认生效。
如果您在浏览器中运行PHP脚本时遇到SSL相关函数调用失败、cURL HTTPS请求报错或Composer无法连接远程仓库等问题,则可能是PHP未启用openssl扩展。以下是开启openssl扩展的多种方法:
openssl扩展默认编译进PHP,但可能被注释禁用。需编辑PHP配置文件php.ini,取消对openssl扩展的注释。
1、找到php.ini文件所在路径,可通过phpinfo()页面或命令行执行php --ini确认。
2、使用文本编辑器打开php.ini文件。
3、搜索extension=openssl或extension=php_openssl.dll(Windows)或extension=php_openssl.so(Linux/macOS)。
4、若该行以分号;开头,则删除分号使其生效:extension=openssl(PHP 8.0+推荐写法)或extension=php_openssl.dll(Windows旧版本)。
5、保存php.ini文件。
6、重启Web服务器(如Apache或Nginx)或PHP-FPM服务。
集成
环境通常提供图形化开关,避免手动编辑配置文件出错。
1、打开XAMPP控制面板,点击Apache右侧的Config按钮。
2、选择PHP (php.ini),在打开的文件中定位openssl配置项。
3、取消注释extension=openssl并保存。
4、在XAMPP控制面板中停止再启动Apache服务。
5、对于WAMP,左键点击系统托盘图标,依次选择PHP → PHP Extensions → openssl,勾选后等待自动重启。
部分Linux发行版的PHP最小化安装不包含openssl扩展,需单独安装扩展包并确保模块加载。
1、Ubuntu/Debian系统执行:sudo apt install php-opcache php-curl php-xml php-zip php-mbstring(其中php-curl依赖openssl)。
2、CentOS/RHEL系统执行:sudo yum install php-common php-cli php-curl 或 sudo dnf install php-common php-cli php-curl。
3、确认openssl扩展文件存在:ls /usr/lib/php/*/openssl.so 或 find /usr -name "openssl.so" 2>/dev/null。
4、若php.ini中无对应extension指令,在/etc/php/*/mods-available/目录下创建openssl.ini,内容为extension=openssl。
5、启用配置:sudo phpenmod -s ALL openssl(Debian/Ubuntu)或手动在php.ini中添加扩展行。
6、重启Web服务器:sudo systemctl restart apache2 或 sudo systemctl restart php-fpm。
Homebrew安装的PHP默认启用openssl,但若使用自定义编译或旧版本,可能需重新链接依赖。
1、确认已安装OpenSSL:brew install openssl。
2、查看当前PHP是否链接到Homebrew OpenSSL:php -i | grep -i openssl,检查OpenSSL Library Version和OpenSSL Header Version是否非空。
3、若未启用,重新安装PHP并强制绑定:brew reinstall php --with-openssl(适用于旧版brew)或升级至新版后执行brew unlink php && brew link php。
4、验证扩展是否加载:php -m | grep openssl应输出openssl。
启用操作完成后,必须验证扩展是否实际载入且功能可用,避免配置未生效或路径错误。
1、创建测试文件test_openssl.php,内容为:
2、在浏览器中访问该文件,返回bool(true)表示扩展已加载。
3、进一步测试HTTPS请求能力:。
4、命令行执行:php -r "print_r(openssl_get_cipher_methods());",若输出加密算法列表则表明功能完整。
# php
# linux
# centos
# composer
# windows
# apache
# nginx
# 浏览器
# ubuntu
# echo
# NULL
# xml
# cURL
# bool
# macos
# 算法
# https
# ssl
# debian
# 加密算法
# 管理器
# 加载
# 重启
# 命令行
# 配置文件
# 器中
# 旧版本
# 适用于
# 自定义
# 使其
相关文章:
制作网页的网站有哪些,电脑上怎么做网页?
Java解压缩zip - 解压缩多个文件或文件夹实例
如何通过WDCP绑定主域名及创建子域名站点?
如何通过云梦建站系统实现SEO快速优化?
如何通过主机屋免费建站教程十分钟搭建网站?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
如何在IIS服务器上快速部署高效网站?
如何在服务器上三步完成建站并提升流量?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
头像制作网站在线制作软件,dw网页背景图像怎么设置?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
广东企业建站网站优化与SEO营销核心策略指南
PHP正则匹配日期和时间(时间戳转换)的实例代码
如何通过IIS搭建网站并配置访问权限?
如何高效完成独享虚拟主机建站?
如何做静态网页,sublimetext3.0制作静态网页?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
如何用wdcp快速搭建高效网站?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
上海网站制作开发公司,上海买房比较好的网站有哪些?
太平洋网站制作公司,网络用语太平洋是什么意思?
如何在阿里云服务器自主搭建网站?
如何快速配置高效服务器建站软件?
成都响应式网站开发,dw怎么把手机适应页面变成网页?
如何快速辨别茅台真假?关键步骤解析
建站之星云端配置指南:模板选择与SEO优化一键生成
建站之星上传入口如何快速找到?
如何在建站之星绑定自定义域名?
建站之星价格显示格式升级,你的预算足够吗?
动图在线制作网站有哪些,滑动动图图集怎么做?
如何配置IIS站点权限与局域网访问?
C++中引用和指针有什么区别?(代码说明)
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
如何快速搭建虚拟主机网站?新手必看指南
如何高效配置香港服务器实现快速建站?
微信小程序 五星评分(包括半颗星评分)实例代码
学校免费自助建站系统:智能生成+拖拽设计+多端适配
建设网站制作价格,怎样建立自己的公司网站?
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
如何在Golang中使用replace替换模块_指定本地或远程路径
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
在线教育网站制作平台,山西立德教育官网?
建站之星伪静态规则如何正确配置?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
如何在Golang中引入测试模块_Golang测试包导入与使用实践
西安大型网站制作公司,西安招聘网站最好的是哪个?
高防服务器:AI智能防御DDoS攻击与数据安全保障
如何通过二级域名建站提升品牌影响力?
建站主机数据库如何配置才能提升网站性能?
*请认真填写需求信息,我们会在24小时内与您取得联系。