macOS PHP 使用 Pecl 安装 Swoole 扩展并启用 openssl 作者: Chuwen 时间: 2023-08-26 分类: PHP 评论 ## 安装 PHP 可以参照此教程安装:https://stitcher.io/blog/php-82-upgrade-mac#upgrade-with-shivammathur/homebrew-php 为了节约时间,我摘抄部分 ```shell brew tap shivammathur/php brew install shivammathur/php/php@8.2 # 切换至 PHP 8.2 brew link --overwrite --force php@8.2 ``` ## 安装 openssl & 获取安装路径 如果你没有安装,可以使用此命令进行安装 ```shell brew install openssl ``` ![](https://cdn.nowtime.cc/2023/08/26/4241934229.png) 比如我的就是 `/usr/local/Cellar/openssl@3/3.1.2` 这个路径,请记住这个路径 ## 安装 swoole 扩展 & 启用 openssl 支持 > 确保你的网络环境正常 执行以下命令 ```shell sudo pecl install swoole ``` 当询问你是否启用 openssl 是,你就输入 `yes --with-openssl-dir=/usr/local/Cellar/openssl@3/3.1.2` > 其中 `/usr/local/Cellar/openssl@3/3.1.2` 是 openssl 的安装路径 ![](https://cdn.nowtime.cc/2023/08/26/3703705991.png) 其他的按照自己需求填入 `yes` OR `no` 就好了,不过需要注意可能需要指定相关库的路径,详情请查看[官方文档 -> 编译选项 -> 通用参数](https://wiki.swoole.com/#/environment?id=%e9%80%9a%e7%94%a8%e5%8f%82%e6%95%b0 "官方文档") ## 安装完成 ![](https://cdn.nowtime.cc/2023/08/26/3470978648.png) 检查是否安装成功,执行命令 `php --ri swoole`,如果有内容输出(如图)表示安装成功 ![](https://cdn.nowtime.cc/2023/08/26/3318436440.png)
macOS 使用命令(networksetup)设置 PAC 代理 作者: Chuwen 时间: 2022-10-14 分类: macOS 评论 因为手动在网络设置里,设置的 PAC ![macOS - 设置 - 网络 - 代理 - 自动代理配置](https://cdn.nowtime.cc/2022/10/14/2421697647.png) 可能会因为其它软件给关掉,如 ClashX 设置为系统代理替换掉 ![ClashX 设置为系统代理](https://cdn.nowtime.cc/2022/10/14/681989366.png) 然后自己手动替换又比较麻烦,所以想着用命令去替换一下 ## 解决方案 所以在网上找到了一篇问答 [https://apple.stackexchange.com/a/166443](https://apple.stackexchange.com/a/166443 "https://apple.stackexchange.com/a/166443"),使用 `networksetup -setautoproxyurl` 命令即可 ### networksetup -setautoproxyurl 语法如下 ```shell networksetup -setautoproxyurl ``` #### 问题 1:怎么拿到 `` ? 可以通过 `networksetup -listallnetworkservices` 命令拿到(只是猜测,因为我的是黑苹果,并且是有以太网网卡) ![执行 networksetup -listallnetworkservices 得到的结果 - 拿到所有网络服务名](https://cdn.nowtime.cc/2022/10/14/245596886.png) #### 示例 1 给以太网网卡设置 PAC 地址 ```shell networksetup -setautoproxyurl "Ethernet" "http://192.168.30.87/autoproxy.pac" ``` 然后检查下设置状态 : ```shell networksetup -getautoproxyurl "Ethernet" ``` ![执行 networksetup -getautoproxyurl Ethernet 命令结果](https://cdn.nowtime.cc/2022/10/14/3672159431.png)
解决 VirtualBox Error creating machine: Error in driver during machine creation: Error setting up host only network on machine start 作者: Chuwen 时间: 2021-12-14 分类: VirtualBox 评论 执行命令 `docker-machine create --driver virtualbox master` 创建虚拟网卡报错: ```log Running pre-create checks... Creating machine... (master) Copying /Users/chuwen/.docker/machine/cache/boot2docker.iso to /Users/chuwen/.docker/machine/machines/master/boot2docker.iso... (master) Creating VirtualBox VM... (master) Creating SSH key... (master) Starting the VM... (master) Check network to re-create if needed... (master) Found a new host-only adapter: "vboxnet0" Error creating machine: Error in driver during machine creation: Error setting up host only network on machine start: /usr/local/bin/VBoxManage hostonlyif ipconfig vboxnet0 --ip 192.168.99.1 --netmask 255.255.255.0 failed: VBoxManage: error: Code E_ACCESSDENIED (0x80070005) - Access denied (extended info not available) VBoxManage: error: Context: "EnableStaticIPConfig(Bstr(pszIp).raw(), Bstr(pszNetmask).raw())" at line 242 of file VBoxManageHostonly.cpp ``` 搜到的相关链接: - https://www.bookstack.cn/read/Minikube-1.24-en/ad8abb690946c9ec.md 原因:**在 Linux、Mac OS X 和带有 VirtualBox >= 6.1.28 的 Oracle Solaris 上,默认情况下,仅主机网络只允许 192.68.56.0/21 范围内的 IP 地址。** 然而 docker-machine 指定创建(VBoxManage hostonlyif ipconfig vboxnet0 --ip192.168.99.1 --netmask 255.255.255.0)`192.168.99.1/24` 的网段,这就导致创建失败 ## 解决办法 1.VirtualBox 降级到 `6.1.28` 之前的版本,可以从这里下载:https://www.virtualbox.org/wiki/Download_Old_Builds_6_1 我下载的是 `6.1.26` (注意我下载的是 macOS X 版本):https://download.virtualbox.org/virtualbox/6.1.26/VirtualBox-6.1.26-145957-OSX.dmg 成功运行了 2.执行以下命令: > **我自己测试是失败的** ```shell sudo mkdir -p /etc/vbox sudo vim /etc/vbox/networks.conf ``` 内容填写 `* 10.0.0.0/8` 然后保存即可 --- #### 你在 Big Sur 安装,可能会遇到的: ``` Kernel driver not installed (rc=-1908) Make sure the kernel module has been loaded successfully. where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT. ``` 解决办法:https://apple.stackexchange.com/questions/410529/virtualbox-does-not-work-after-upgrading-to-big-sur 简要概述: - 重启到恢复模式 -> 终端 -> 运行命令 `spctl kext-consent add VB5E2TV963` - 最后重启进系统即可
【并不难】macOS 下编译安装 Swoole 扩展 作者: Chuwen 时间: 2021-01-09 分类: PHP 评论 **目录** [TOC] # macOS 下安装 Swoole 扩展 > 我以为会很复杂,但发现其实也并不难 ## 安装前准备 请注意 macOS 是自带了 php 7.1 的,如果你卸载了可以使用 `brew` 等方法安装,这里不做过多赘述 ## 下载 Swoole 源码 Swoole 的 GitHub 仓库地址是:https://github.com/swoole/swoole-src 源码发行版下载地址:https://github.com/swoole/swoole-src/releases 我们这里以当前最新版本**v4.6.0**为例 ```shell curl https://github.com/swoole/swoole-src/archive/v4.6.0.zip -O swoole-src-4.6.0.zip ``` ## 解压 Swoole 源码压缩包 ```shell unzip swoole-src-4.6.0.zip ``` ## 切换到 swoole-v4.6.0 目录 ```shell cd swoole-src-4.6.0 ``` ## 然后进行编译和安装 > 以下命令请一行一行执行,以 `#` 开头的是注释 ```shell phpize ./configure # 为了提升编译效率,我们可以使用多核编译 # 也就是你有多少核心就 -j核心数 # 我的 CPU 有 8 核心,那么使用 -j8 参数 make -j8 # 如果你不懂你就使用这个命令 make sudo make install ``` ## 不出意外的话,执行到最后一条命令并完成后,将出现以下类似的日志 ```log chuwen@WenzhoudeMacBook-Pro swoole-src-4.6.0 % sudo make install Password: Installing shared extensions: /usr/local/Cellar/php/8.0.0/pecl/20200930/ Installing header files: /usr/local/Cellar/php/8.0.0/include/php/ ``` ## 修改 php.ini 文件 在文件末尾追加内容 `extension=swoole.so` 即可 > **[推荐] 你可以使用 `php --ini` 命令查询 `php.ini` 所在位置** > > 一般 `php.ini` 文件在 `/usr/local/etc/php/PHP的版本/php.ini` > 比如我的 PHP 版本是 **8.0**,那么是在 `/usr/local/etc/php/8.0/php.ini` > 或者也可以使用 `find / -name php.ini` 查找 `php.ini` 所在路径 **编辑文件你可以按照你习惯的方式编辑,或者像我这样使用 `vim` 命令编辑** ```shell vim /usr/local/etc/php/8.0/php.ini # 然后按 `Shift + G`,其实就是输入 G # 即可跳转到文件最后一行 # 然后你 i 键进行编辑文件,然后你另起一行 # 写上这一行内容 extension=swoole.so # 然后按 ESC 键,输入 :wq # 按回车保存并退出编辑 ``` ## 验证是否安装成功 执行以下命令,如果出现 **swoole** 字样,代表安装 Swoole 扩展成功了 ```shell php -m | grep swoole ``` 这是我的执行结果,是安装成功了 ```log chuwen@WenzhoudeMacBook-Pro swoole-src-4.6.0 % php -m | grep swoole swoole ```
【使用 HoRNDIS】Android 手机通过 USB 网络共享给 macOS 上网 作者: Chuwen 时间: 2020-12-04 分类: macOS 评论 # 安装一个驱动 HoRNDIS 即可 > GitHub:https://github.com/jwise/HoRNDIS/releases > GitHub Release:https://github.com/jwise/HoRNDIS/releases > > 本人使用的(**蓝奏云网盘链接**):[HoRNDIS-9.2-catalina_install.pkg.zip][1] 按照提示安装,安装完成后,**重启系统**即可。 然后手机打开 **设置** -> **个人热点与网络共享** -> **USB 网络共享** ![MIUI 12 个人热点 截图][2] ### 一切顺利的话,会在你 macOS -> 系统设置 -> 网络 自动新增一个接口 ![一切顺利的话,会在你 macOS -> 系统设置 -> 网络 自动新增一个接口][3] # 发现的缺点 当你手机关闭 USB 网络共享/拔除 USB 线缆(数据线),再插入,打开 USB 网络共享,又会自动新增一个接口 如果你观察仔细的话,你可以看到有 `...(en3)`、`...(en4)` 这两个接口。没错,`...(en4)` 是我之前开启 USB网络共享 自动新增的,但现在我重新开启,又新增了 # Catalina 10.15.7 (19H15) 测试安装能够正常使用 ![Catalina 10.15.7 (19H15) ][4] --- 想查询更为详细?的内容,请访问:https://cloud-atlas.readthedocs.io/zh_CN/latest/android/hack/android_usb_tethering.html [1]: https://nowtime.lanzous.com/i1xLAj1r4ij [2]: https://cdn.nowtime.cc/2020/12/04/849199925.png [3]: https://cdn.nowtime.cc/2020/12/04/1599352426.jpg [4]: https://cdn.nowtime.cc/2020/12/04/1308725480.jpg