php获取远程https内容时提示 PHP Warning: copy(): Unable to find the wrapper “https“ 解决方法

异常信息:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

PHP Warning: copy(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Command line code on line 1

PHP Stack trace:

PHP 1. {main}() Command line code:0

PHP 2. copy(source_file = 'https://getcomposer.org/installer', destination_file = 'composer-setup.php') Command line code:1

Warning: copy(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Command line code on line 1

Call Stack:

0.0001 388024 1. {main}() Command line code:0

0.0008 388024 2. copy(source_file = 'https://getcomposer.org/installer', destination_file = 'composer-setup.php') Command line code:1

异常原因

这个异常是因为当前的php没有配置openssl模块, 所以在php访问https的内容时就提示 Unable to find the wrapper "https" 异常。

解决方法: 安装 openssl扩展

在macos中通过macport安装php后,默认是没有安装openssl扩展的, 需要我们手动安装一下这个openssl的扩展。

bash 复制代码
# 首先确定当前php版本
php -version

# 然后安装 openssl扩展 , 这里以php7.2版本为例
sudo port install php72-openssl

如果你的php非port安装的,解决方法也是一样的,安装对应php的 openssl 扩展即可。

通过port search查找可用的php openssl扩展包参考

命令: port search --name --line --regex '^php(\d+)-openssl'

相关推荐
老牛日常随笔1 分钟前
Meta 开源 8160 亿参数模型,官方给的方案是两台 Mac Studio
macos·开源
我就是不信16 分钟前
Swift 方法派发机制详解
开发语言·ios·swift
CCCCCCCCharlie19 分钟前
深入解析I/O底层:文件描述符与缓冲区真相
linux·开发语言·c++·算法
寻林写彡23 分钟前
Web 安全三大漏洞靶场作业全整理:PHP 核心函数与防御方案汇总
安全·php
Zenova EdgeOS27 分钟前
Rust TUI 实战:用 ratatui 构建工业边缘终端界面
开发语言·后端·rust·工业网关
学逆向的43 分钟前
C 选择结构的执行效率分析
c语言·开发语言·算法·网络安全
geats人山人海1 小时前
java 8 字符串
java·开发语言
云和数据.ChenGuang1 小时前
Golang AI 工程师路线图:从入门到实战
开发语言·人工智能·后端·golang
事圆则缓2 小时前
Kotlin学习导航:从知识树走到项目与面试
android·开发语言·kotlin
程序员夏洛2 小时前
TCP 是用来解决什么问题?
java·网络协议·http·https