开发企业微信小程序时,同一个项目,切换 appid 时,如果app 属于不同的企业微信账号,则需要切换企业才能在模拟器中正常预览。否则调用 wx.qy.login()
时会出现错误信息: {code: “”, errMsg: “qy__login:fail”},如果不出现这个错误,获取到的 corpid
和 userid
还是属于之前企业微信号的。
切换企业操作:
在微信开发者工具中 模拟器 的上方,点击模拟操作按钮(手机形状图标),点击【选择企业】,选择企业微信对应企业即可。
开发企业微信小程序时,同一个项目,切换 appid 时,如果app 属于不同的企业微信账号,则需要切换企业才能在模拟器中正常预览。否则调用 wx.qy.login()
时会出现错误信息: {code: “”, errMsg: “qy__login:fail”},如果不出现这个错误,获取到的 corpid
和 userid
还是属于之前企业微信号的。
切换企业操作:
在微信开发者工具中 模拟器 的上方,点击模拟操作按钮(手机形状图标),点击【选择企业】,选择企业微信对应企业即可。
PHP PIE(PHP Installer for Extensions)是 PHP 官方推出的一款现代化扩展管理工具,旨在简化 PHP 扩展的安装与管理流程,被视为 PECL(PHP 扩展社区库)的潜在替代方案。
首个公开版本发布于 2023 年下半年,具体而言,其在 GitHub 上的首个正式发布版本(v0.1.0)于 2023 年 9 月推出。这一工具由 PHP 基金会主导开发,旨在为 PHP 扩展管理提供更现代化、自动化的解决方案,逐步替代传统的 PECL 工具。
自首次发布以来,PHP PIE 持续迭代更新,不断扩展支持的扩展范围并优化功能,截至目前(2025 年)已推出多个版本,成为 PHP 生态中备受关注的扩展管理工具。其发展节奏与 PHP 基金会对现代化工具链的推进策略相契合,进一步巩固了在 PHP 扩展管理领域的地位。
以下是其核心特性和使用要点:
采用简洁的命令行语法,类似composer的操作逻辑,例如:
1 | pie install xdebug/xdebug # 安装Redis扩展 |
extension=redis
)。可指定为不同 PHP 版本安装扩展,例如:
1 | pie install mongodb/mongodb --php /usr/bin/php8.4 # 为PHP 8.4安装MongoDB扩展 |
支持在 CI/CD 管道中自动化安装扩展,无缝融入项目的自动化部署流程。你可以在 shell 脚本中添加 pie install
命令,实现自动安装扩展,也可以在 Docker 配置中指定安装哪些模块。
下载pie.phar
(官方发布地址:GitHub)。
curl -O https://github.com/php/pie/releases/latest/download/pie.phar
配置为全局命令(Linux/macOS 太容易搞定,我们就以 Windows 为例):
pie.phar
保存到 D:\portable\pie\
目录。 pie.bat
文件,内容为: php "%~dp0pie.phar" %*
。 D:\portable\pie\
添加到系统环境变量 Path
中,这样就可以直接在命令行使用pie
命令了。验证安装:在命令行中运行 pie -V
,若显示版本信息则安装成功。
pie.phar
如果与执行php.exe在同一个目录,那么扩展默认安装到 ~/ext
文件夹中,否则默认安装到 pie.phar
所在目录的 ext
文件夹中。
解决 docker 报错 Error response from daemon
直接在浏览器中打开网址 https://registry-1.docker.io/v2/
连不上,说明网络有问题。
原因是网络连接失败,原因你知道。
修改配置文件 /etc/docker/daemon.json
, Windows 为 C:\Users\用户名\.docker\daemon.json
文件,加入如下内容:
1 | "dns": [ |
Windows 下如果重启无效,可退出 Docker Desktop 再打开。
如何在 WebStorm 中调试 AdonisJS 项目,超详细教程来了!
AdonisJS 官方文档虽然详尽地涵盖了 VSCode 的调试指南,却没有关于 Jetbrains 系列产品的相应调试说明。
了解 Jetbrains 产品的调试配置以后,要配置 WebStorm 来调试 AdonisJS 其实是非常容易的。
用 WebStorm 打开你的 AdonisJS 项目后,点击调试工具栏上的下拉菜单,点击编辑配置。
在弹出的窗口中,点击右上角的“+”按钮,选择“Node.js”作为调试类型,然后(如下图)输入配置信息。
ace serve --hmr
。点击调试工具栏的下拉菜单,选择刚加的调试配置(如下图)
然后再点击调试按钮(那只小虫子,如下图),或者按 Shift + F9
快捷键,就可以启动调试了。
启动调试后,只要给程序执行经过位置加上断点,程序执行到断点处就会暂停下来,这样我们就可以查看程序当前执行所在位置的各个变量的值了。
具体调试操作就不多说了,你自己能搞定。
在 Linux 上使用 Certbot 为 Nginx 部署 SSL 证书是一个很简单的过程,只需要执行几个命令就可以。
以下演示在 Ubuntu/Debian 上通过 Certbot 为 Nginx 服务器获取并安装SSL证书,其他 Linux 系统安装命令类似。
首先,确保你的 Ubuntu/Debian 服务器上已经安装了 Nginx。如果还没有安装,可以使用以下命令进行安装:
1 | sudo apt update |
先部署好 Nginx http 站点,certbot-nginx 插件将自动往 Nginx 配置中加入 SSL 部署配置。
1 | sudo apt install certbot python3-certbot-nginx |
安装 Certbot 和 Nginx 都安装后,你可以使用 Certbot 的 Nginx 插件来自动为你的网站获取并安装SSL证书。运行以下命令:
1 | sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com |
记得将 yourdomain.com 替换为你的实际域名。
执行此命令, Certbot 将执行以下操作:
fnm
(Fast and Minimal Node Manager)是一个相对较新的 Node.js
版本管理工具。它的设计目标是提供一个快速且轻量级的解决方案,用于安装、管理和切换不同版本的 Node.js
。
与 nvm(Node Version Manager)相比,fnm 强调更少的依赖和更快的启动速度,并且支持跨平台,Windows/Linux/Mac 都能用。
如果你的电脑安装了 rust 环境,可直接用 cargo 安装
1 | cargo install fnm |
使用脚本安装
1 | curl -fsSL https://fnm.vercel.app/install | bash |
或者使用 brew 安装
1 | brew install fnm |
1 | winget install Schniz.fnm |
1 | eval "$(fnm env --use-on-cd --shell bash)" |
将以下代码加入 PowerShell 的配置文件。
1 | fnm env --use-on-cd --shell powershell | Out-String | Invoke-Expression |
powershell 配置文件不同版本的windows 可能位置不一样,
可能位于 ~\.config\powershell\Microsoft.PowerShell_profile.ps1
,
也可能位于 ~\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
,
用 notepad $profile
或 (如果安装了VSCode)code $profile
命令即可打开编辑。
1 | fnm list # 查看本地已安装 Node.js 版本 |
fnm 安装的 Node.js 程序位于 Windows 的
~\AppData\Roaming\fnm\node-versions
,Linux/Mac 的~/.local/share/fnm/node-versions
Node.js
对于一机多版本的需求没Python
那么强,一般情况下安装当前 LTS 版就够用了。
修改 gradle-wrapper.properties
文件的 distributionUrl
参数
1 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip |
项目根目录下的 build.gradle
文件的 buildscript.repositories
加入:
1 | maven { url 'https://maven.aliyun.com/repository/google' } // Google Maven镜像 |
记一次 tailwind @apply 编译速度极慢的解决过程
新的 Vue
项目使用了 Tailwind
+ SCSS
,突然发现修改 app.scss 文件的时候,热更新需要 14s+ 才能加载完成。和之前项目唯一不同的是scss的 @import
换成了 @use
,这地方应该没问题,sass 团队不可能会犯这么低级的错误。
突然想起,前两天把 128k 的地区数据 regions.js 放 src 目录下了,很有可能是这个引起的。试着把该文件移出 src 目录,还真是。解决:把该文件改为 json 格式,放到 assets 目录。
默认的 tailwind 配置会扫描源码目录下的 vue,js,ts,jsx,tsx
文件,js 文件过大太复杂的时候就会引起问题了。我项目只有 vue 文件需要taiwnid 扫描,把其他后缀去掉,热加载速度明显快很多。配置如下:
1 | // tailwind.config.js |
PhpStorm / WebStorm 中 TailwindCSS 没有自动提示
PhpStorm / WebStorm 新建项目中,有时候 TailwindCSS 自动提示没有出来。
原因如下:
打开 “设置 > 语言和框架 > Node.js”,选择“Node 解释器”为当前项目使用的 node 解释器。有时候项目在 wsl 中开发,默认是本地的 node,会导致问题。
通过 setFooBarAttribute($value)
、getFooBarAttribute()
方法来定义和访问自定义动态 fooBar
属性。
1 | namespace App\Models; |
通过返回值类型为 Attribute
类来定义和访问自定义动态属性。