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'

相关推荐
奥顺23 分钟前
PHP与AJAX:实现动态网页的完美结合
大数据·mysql·开源·php
MoonBit月兔41 分钟前
MoonBit 核心编译器正式开源!
开发语言·开源·编程语言·moonbit
szx的开发笔记1 小时前
JS实现在线预览HTML文件
开发语言·javascript·html
Jack Yan1 小时前
【编辑器扩展】打开持久化路径/缓存路径/DataPath/StreamingAssetsPath文件夹
java·开发语言
明月看潮生1 小时前
青少年编程与数学 02-004 Go语言Web编程 13课题、模板引擎
开发语言·青少年编程·模板引擎·编程与数学·goweb
网络安全Jack2 小时前
防火墙技术与网络安全
web安全·智能路由器·php
qq_433554542 小时前
C++ 面向对象编程:友元、
开发语言·c++
123yhy传奇2 小时前
【学习总结|DAY020】Java FIle、字符集、IO流
java·开发语言·学习
m0_748254882 小时前
前端大屏自适应方案
开发语言·前端·javascript
刘小哈哈哈2 小时前
iOS 多个输入框弹出键盘处理
macos·ios·cocoa