分类 开发笔记 下的文章

部署一个新项目,composer install 的时候报错:

PHP Fatal error:  Uncaught Error: Class "Normalizer" not found in /usr/share/php/Symfony/Component/String/AbstractUnicodeString.php:31

这个问题是因为 Normalizer 类没有被找到,这个类是 Symfony 组件的一部分,并且依赖于PHP的国际化扩展 php-intl。

需要手动安装一下。

我的服务器是 ubunut, php 版本是 8.3,直接使用 apt 安装:

sudo apt install php8.3-intl

也可以考虑使用 pecl 安装:

pecl install intl

检查扩展是否已生效:

php -m | grep intl

重新 composer install,问题解决。

有个需求是在小程序页面展示二维码。

于是使用 canvas 实现了一下,发现有个bug,真机上看的时候,滑动页面,canvas 会抖动,在安卓上更是乱跑,没法用。

使用服务端生成二维码会有点影响服务器性能,并且消耗带宽。

不如考虑将 canvas 转成 base64 图片后展示。

下面是实现步骤:

- 阅读剩余部分 -

刚用 AI 写了个处理 YAML 的小工具,因为是 php 写的,直接用了 yaml 扩展。

一运行发现我本地的 php8.3 还没安装 yaml 扩展,虽然可以改成使用第三方包,但觉得还是安装一下试试。

执行 pecl install yaml,提示找不到 libyaml 包。

checking for yaml headers... not found
configure: error: Please install libyaml
ERROR: `/private/tmp/pear/temp/yaml/configure --with-php-config=/opt/homebrew/opt/php/bin/php-config --with-yaml' failed

- 阅读剩余部分 -

今天突然发现向我的服务器提交代码非常慢,巨慢,然后测试版的应用请求响应也非常慢,一开始以为是网络问题,但登录服务器一看,发现 CPU 很忙。

2核2G 的 Ubuntu,load average: 1.93, 0.99, 0.55。

排名第一的进程是 kswapd0,问了一下 kimi,得到的回答是:

kswapd0 是 Linux 系统中的一个内核线程,主要负责虚拟内存管理中的换页操作。当系统的物理内存不足时,kswapd0 会执行换页操作,将一些不常用的内存页从物理内存移动到磁盘上的交换空间(swap space),以释放物理内存供其他进程使用。这个过程会消耗大量的 CPU 资源,因此如果 kswapd0 进程占用 CPU 过高,通常意味着系统正在进行大量的换页操作,可能是因为物理内存不足。

- 阅读剩余部分 -

前两天刷到一个帖子:

2024-11-01T06:09:49.png

简单来说,就是楼主使用 clash 拉取 docker 镜像,然后他的腾讯云机器就被封了。

好几年前,为了加速使用 packgist 等仓库,我在阿里云的服务器装了 v2ray,后来也收到了阿里云的警告邮件,好在阿里云没有直接封机器,给了整改时间。

所以可以确认的是,国内的云服务器都会扫描服务器信息,所以要怎么做你懂的。

如果为了加速下载境外的开源代码或者仓库,建议使用共享本地代理的方法,或者干脆下载到本地再上传。

共享本地代理给云服务器的方法我之前有写过,参考这篇文章

当然,使用国内镜像也不是不可以,但很多国内镜像可用性极差,甚至已经停掉了,简直就是浪费时间浪费生命。

比如 docker 镜像,现在晚上搜到的一堆国内镜像都停掉了,坑爹。

- 阅读剩余部分 -

DokuWiki 是一个简单易用、用途多样并且不依赖数据库的开源维基软件。它因简洁易读的语法受到用户的喜爱。而容易维护、备份方便和易于整合则使它成为管理员的最爱。

我的环境:

  • ubuntu 22.04
  • nginx 1.18
  • php8.1
  • mysql8

安装步骤

  1. DokuWiki 官网下载页 下载最新稳定版本;
  2. 解压到 /var/www/dokuwiki,作为项目根目录;
  3. 将根目录下的 dataconf 设置为可写;
  4. 配置 nginx,新增配置文件 /etc/nginx/sites-enabled/dokuwiki:

- 阅读剩余部分 -