项目里用到了 sftp,所以需要安装一下 ssh2。
安装过程有个报错,开始还以为是不兼容 m1,好在最后顺利安装。
记录一下,以免再次跳坑。
安装 ssh
1 | pech install ssh2-1.3 |
安装过程中会询问 libssh2 的路径,默认会自动检测,然后,我的问题就来了:
The required libssh2 library was not found
首先排除一下 libssh2 有没有安装,没有安装的话执行 brew install libssh2,然后执行 brew link libssh2 查看其路径信息。

接下来,重新执行 pecl install ssh2-1.3,命令行询问路径时,将 /opt/homebrew/Cellar/libssh2/1.9.0_1 敲入回车即可。
文章作者: m-finder
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 M-finder!
相关推荐

2021-03-25
php ziparchive addfile return false
有个文件,存储了两条准备用于给文件重命名的字符串和文件路径的数据,每行一条,名称和字符串以 , 间隔。 然后问题来了,通过读文件取出数据,然后获取文件路径并打包时,ZipArchive 的 addFile 总会有一个 false。 折腾半天,最后发现还是因为粗心大意,没过滤行尾的换行符…… 一声叹息,掏出小本本默默记上一笔。 最后附上代码: 12345678910111213141516171819202122232425<?php$txt_file = './zip.txt';$zip = new ZipArchive();$fileName = './res.zip';$path = '/opt/homebrew/var/www/';if(file_exists($fileName)){ unlink($fileName);}if(!$zip->open($fileName, ZipArchive::CREATE)){ echo '文件读取失败'...

2025-01-24
系统异常崩溃实录
前言众所周不知,我在 24 年底入职了某连锁品牌的美甲公司,负责相关小程序和后台的开发与维护。 入职前了解到该项目最初由外包团队开发,并使用外包三件套:宝塔、TP、Mysql 进行部署和搭建,当时我心里就对它有了一个大概的印象,但是等我真正接手这个项目时,还是忍不住地两眼一黑,心头有一万头草泥马奔腾而过。 项目结构之混乱,方法定义之奇葩,没有一项不在挑战我认知的下限,我只能说,用屎山来形容这套代码都是在夸它,项目能平稳运行简直就是个奇迹。 哦,也不能算奇迹,因为这勾八玩意儿就没有一天是平稳的。 在告别了手动替换服务器代码并用 git 管理之后,我又先后经历了 CDN 欠费,小程序图片无法正常显示;SSL 证书过期,所有服务全部宕机;以及子项目域名过期却拿不到平台账号,最后只能换绑域名这样的种种混乱…… 在此之后,系统总算平稳运行了几天。 屎山的崩塌正当我撸起袖子,准备奋力重构这坨屎山时,年底到了,我又迎来了新一波的挑战。 1 月 16 号早上 10 点,我把手里刚开发完的小程序推送到正式版,之所以选在这个时间更新,是因为有些门店会营业到凌晨5点,10 前的使用量相对还少一些。 本...

2019-03-15
Laravel 生命周期
Laravel 的生命周期主要分为四个阶段: 加载依赖 创建应用实例 接收请求并响应 请求结束进行回调 这四个阶段都在 index.php 中完成: 1234567891011121314151617181920<?php// 加载依赖require __DIR__.'/../vendor/autoload.php';// 创建应用实例$app = require_once __DIR__.'/../bootstrap/app.php';// 实例化 HTTP 内核$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);// 接收请求,生成响应$response = $kernel->handle( $request = Illuminate\Http\Request::capture());// 发送响应$response->send();// 请求结束,进行回调$kernel->terminate($request, $re...

2019-04-11
laravel 测试模块学习
学习下 larave 内置的测试模块。 当你想把一些东西写到 print 语句或者调试表达式中时,别这么做,将其写成一个测试来代替。 –Martin Fowler 最开始看到的关于 laravel 测试的信息是借助模型工厂来生成测试数据,今天查完资料发现,这只是测试中的一小部分。 laravel 内置了 PHPUnit 来做测试,并且已经做好了配置文件,还提供了一些便利的辅助函数,可以更直观的测试程序。 在 laravel 的项目中,包含一个 tests 目录,这个目录又有两个子目录:Feature 和 Unit 分别用来做功能测试和单元测试。 功能测试用于测试较大区块的代码,包括若干组件之间的交互,甚至一个完整的 HTTP 请求。 单元测试用于小的 、相互隔离的代码。 配置可以使用默认的配置,也可以创建一个 .env.testing 文件,在运行测试或执行带有 --env=testing 开关的 Artisan 命令时覆盖 .env 文件中的环境变量。 创建 & 运行测试运行 artisan 生成测试用例: 12345// 在 Feature...

2019-03-14
laravel 内置 vue 的使用
从 5.3 版本开始,用 Vue.js 作为默认 JavaScript 前端框架。 从刚接触 laravel 到现在已经又过去了四个版本,种种原因,还是一直没能用上 vue.js 来做开发,现在刚好因为公司项目用到了 vue,对 vue 有了一定的了解,所以顺便就研究下 vue 在 laravel 中的使用吧。 安装laravel操作均在 laradock 的环境中进行。进入 workspace 容器,执行以下命令安装 laravel 1composer create-project laravel/laravel study 配置mysqldocker-compose up -d nginx mysql phpmyadmin 启动容器配置 nginx、hosts 并重启 nginx进入 mysql 容器执行以下命令: 123456mysql -uroot -prootALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';exit;exit 访问 phpmyadmin: ...

2021-03-20
mac m1 下搭建 php 开发环境
一番挣扎之后,还是下手了 m1,真香。 homebrew 安装1/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 网慢的话,host 加映射。 1199.232.68.133 raw.githubusercontent.com php 安装看到好多人说,要把自带的 php 先卸载掉, 但是我折腾一圈发现,卸着太麻烦,不卸也没啥问题。 12brew install php@7.4brew link php@7.4 然后根据输出的信息添加环境变量: 1234echo 'export PATH="/opt/homebrew/opt/php@7.4/bin:$PATH"' >> ~/.zshrcecho 'export PATH="/opt/homebrew/opt/php@7.4/sbin:$PATH"' >> ~/.zshrc...