阅读视图

发现新文章,点击刷新页面。

升级 Ubuntu 24.04 安装 PHP 8.3 失败

事情是这样子的。

在 @督军 博客看到介绍网站“启用 Brotli 压缩”,想试试,后来发现默认的 Ubuntu 22.04 无法通过 apt 直接安装。本来已打算放弃,@督军 同学回复说 24 版本 ubuntu 可安装,于是就直接在服务器端 do-release-upgrade 一次搞定。

升级到 24.04 的 Ubuntu,upgrade 的 nginx 版本提升到了 1.24,php 也到了 8.3.6。

想着服务器都升级 24.04 版本了,本地要不也一起升级了吧,于是就决定给用了许久的本地 Elementary OS 7.1 升级到 8.0。Elementary OS 7.1 居于 Ubuntu 22.04,Elementary OS 8.0 居于 Ubuntu 24.04。

Elementary OS 有个坑的地方,跨版本升级无法用命令行直接升级,得重新安装系统,这就是为啥我这么久没升级的原因,重装实在太麻烦,得备份东西。

许久没折腾的我,在 Gparted 分区的地方给卡了许久,电脑有两块盘,其中一块盘上装的 Windows 10 和 这个 Elementary OS,Windows 10 已经好久没用了,这次准备直接删了。还好记得两块硬盘大小不一样,不然都不知道哪个是哪个。

简单的分了 boot swap/ 3 个分区,不到 5 分钟就安装完成。

本地系统我一直都是手动安装 web 环境,nginx 安装很顺利,php 卡主了。

Ubuntu 24.02 默认 apt 安装的 php 是 8.3 版本,安装的时候,小朋友爬过来要和我抢电脑,所以直接盖上盖子丢一边了。等给小朋友洗完澡喂完奶哄睡着,再打开电脑时,看到终端提示安装被打断,没当一回事,就重新继续安装。 安装代码:

sudo apt install php8.3-common php8.3-fpm php8.3-{curl,json,mysql,bcmath,imagick,mbstring,gd,xml,zip,pear}

然后卡在了 php-fpm 配置那里,看提示好像是超时:

正在设置 php8.3-fpm (8.3.6-0ubuntu0.24.04.4) ...
Job for php8.3-fpm.service failed because a timeout was exceeded.
See "systemctl status php8.3-fpm.service" and "journalctl -xeu php8.3-fpm.service" for details.
invoke-rc.d: initscript php8.3-fpm, action "start" failed.
× php8.3-fpm.service - The PHP 8.3 FastCGI Process Manager
     Loaded: loaded (/usr/lib/systemd/system/php8.3-fpm.service; enabled; preset: enabled)
     Active: failed (Result: timeout) since Fri 2025-06-27 08:27:22 CST; 9ms ago
       Docs: man:php-fpm8.3(8)
    Process: 15692 ExecStart=/usr/sbin/php-fpm8.3 --nodaemonize --fpm-config /etc/php/8.3/fpm/php-fpm.conf (code=exited, status=0/SUCCESS)
    Process: 15697 ExecStopPost=/usr/lib/php/php-fpm-socket-helper remove /run/php/php-fpm.sock /etc/php/8.3/fpm/pool.d/www.conf 83 (code=exited, status=0/SUCCESS)
   Main PID: 15692 (code=exited, status=0/SUCCESS)
        CPU: 68ms

6月 27 08:25:52 LMS-EOS systemd[1]: Starting php8.3-fpm.service - The PHP 8.3 FastCGI Process Manager...
6月 27 08:27:22 LMS-EOS systemd[1]: php8.3-fpm.service: start operation timed out. Terminating.
6月 27 08:27:22 LMS-EOS systemd[1]: php8.3-fpm.service: Failed with result 'timeout'.
6月 27 08:27:22 LMS-EOS systemd[1]: Failed to start php8.3-fpm.service - The PHP 8.3 FastCGI Process Manager.
dpkg: 处理软件包 php8.3-fpm (--configure)时出错:
 已安装 php8.3-fpm 软件包 post-installation 脚本 子进程返回错误状态 1
dpkg: 依赖关系问题使得 php-fpm 的配置工作不能继续:
 php-fpm 依赖于 php8.3-fpm;然而:
  软件包 php8.3-fpm 尚未配置。

和 php 有关的全部都删除了,重新再完整安装一次,还是上面的毛病。

以为系统被我折腾坏了,又重装了系统,重新再安装,还是上面的毛病。

搜索、AI 还是没解决。

今天上午在 Windows 下用虚拟机安装系统再测试,还是一样的问题,所以我这是翻车了。。。

而且最吐血的是,突然想起来,我原系统的 Obsidian 文件没备份。。。

升级 Ubuntu 24.04 安装 PHP 8.3 失败

事情是这样子的。

在 @督军 博客看到介绍网站“启用 Brotli 压缩”,想试试,后来发现默认的 Ubuntu 22.04 无法通过 apt 直接安装。本来已打算放弃,@督军 同学回复说 24 版本 ubuntu 可安装,于是就直接在服务器端 do-release-upgrade 一次搞定。

升级到 24.04 的 Ubuntu,upgrade 的 nginx 版本提升到了 1.24,php 也到了 8.3.6。

想着服务器都升级 24.04 版本了,本地要不也一起升级了吧,于是就决定给用了许久的本地 Elementary OS 7.1 升级到 8.0。Elementary OS 7.1 居于 Ubuntu 22.04,Elementary OS 8.0 居于 Ubuntu 24.04。

Elementary OS 有个坑的地方,跨版本升级无法用命令行直接升级,得重新安装系统,这就是为啥我这么久没升级的原因,重装实在太麻烦,得备份东西。

许久没折腾的我,在 Gparted 分区的地方给卡了许久,电脑有两块盘,其中一块盘上装的 Windows 10 和 这个 Elementary OS,Windows 10 已经好久没用了,这次准备直接删了。还好记得两块硬盘大小不一样,不然都不知道哪个是哪个。

简单的分了 boot swap/ 3 个分区,不到 5 分钟就安装完成。

本地系统我一直都是手动安装 web 环境,nginx 安装很顺利,php 卡主了。

Ubuntu 24.02 默认 apt 安装的 php 是 8.3 版本,安装的时候,小朋友爬过来要和我抢电脑,所以直接盖上盖子丢一边了。等给小朋友洗完澡喂完奶哄睡着,再打开电脑时,看到终端提示安装被打断,没当一回事,就重新继续安装。 安装代码:

sudo apt install php8.3-common php8.3-fpm php8.3-{curl,json,mysql,bcmath,imagick,mbstring,gd,xml,zip,pear}

然后卡在了 php-fpm 配置那里,看提示好像是超时:

正在设置 php8.3-fpm (8.3.6-0ubuntu0.24.04.4) ...
Job for php8.3-fpm.service failed because a timeout was exceeded.
See "systemctl status php8.3-fpm.service" and "journalctl -xeu php8.3-fpm.service" for details.
invoke-rc.d: initscript php8.3-fpm, action "start" failed.
× php8.3-fpm.service - The PHP 8.3 FastCGI Process Manager
     Loaded: loaded (/usr/lib/systemd/system/php8.3-fpm.service; enabled; preset: enabled)
     Active: failed (Result: timeout) since Fri 2025-06-27 08:27:22 CST; 9ms ago
       Docs: man:php-fpm8.3(8)
    Process: 15692 ExecStart=/usr/sbin/php-fpm8.3 --nodaemonize --fpm-config /etc/php/8.3/fpm/php-fpm.conf (code=exited, status=0/SUCCESS)
    Process: 15697 ExecStopPost=/usr/lib/php/php-fpm-socket-helper remove /run/php/php-fpm.sock /etc/php/8.3/fpm/pool.d/www.conf 83 (code=exited, status=0/SUCCESS)
   Main PID: 15692 (code=exited, status=0/SUCCESS)
        CPU: 68ms

6月 27 08:25:52 LMS-EOS systemd[1]: Starting php8.3-fpm.service - The PHP 8.3 FastCGI Process Manager...
6月 27 08:27:22 LMS-EOS systemd[1]: php8.3-fpm.service: start operation timed out. Terminating.
6月 27 08:27:22 LMS-EOS systemd[1]: php8.3-fpm.service: Failed with result 'timeout'.
6月 27 08:27:22 LMS-EOS systemd[1]: Failed to start php8.3-fpm.service - The PHP 8.3 FastCGI Process Manager.
dpkg: 处理软件包 php8.3-fpm (--configure)时出错:
 已安装 php8.3-fpm 软件包 post-installation 脚本 子进程返回错误状态 1
dpkg: 依赖关系问题使得 php-fpm 的配置工作不能继续:
 php-fpm 依赖于 php8.3-fpm;然而:
  软件包 php8.3-fpm 尚未配置。

和 php 有关的全部都删除了,重新再完整安装一次,还是上面的毛病。

以为系统被我折腾坏了,又重装了系统,重新再安装,还是上面的毛病。

搜索、AI 还是没解决。

今天上午在 Windows 下用虚拟机安装系统再测试,还是一样的问题,所以我这是翻车了。。。

而且最吐血的是,突然想起来,我原系统的 Obsidian 文件没备份。。。

诡异的Excel异常

当年今日

近两天我的Microsoft 365在处理Excel文件的时候出现了两个很奇怪的现象。

第1个是我打开某个文件,要增加一行,发现增加完以后好像就卡住了,我的鼠标没办法定位,当我点击关闭文件的时候,会弹出一个白色的窗口,里面什么都没有。只有一个右上角的X可以点,但实际上如果我不点那个X,点回车的话,等于是我点击了确认。出去以后发现被我插入了一行的那个东西被保存了,因为文件的时间变成了我刚刚处理的那个时间,但实际上当我再进去,依然是上一次的那个模样。这到底是怎么回事呢?为什么我的鼠标双击某个单元格的时候没有定位输入功能呢?第1次实际上我是没有保存的,发现插入行以后出现了异常,我选择的是关闭,因为关闭文件右上角那个叉做不到,所以我就直接在任务管理器里结束Excel这个进程。当我下一次再打开这个文件的时候,当然它会显示一个不正常关闭的存档按钮,但无论是用那个文件,还是我重新打开的那个,依然会出现我上面出说的那些现象。关键是仅仅是那个文件这样,其它文件没有问题,所以这到底是什么情况呢?我那个文件里面完全没有特殊的东西,没有高技术含量的Excel处理,纯粹是表格,纯粹是数据,再加一些很简单一个公式。这个文件我是添加在坚果云里的,从文件历史看来,一直也都只是我在编辑。从编辑时间看来,也都是正常的,但为什么这个文件就出现了这种奇怪的现象呢?因为鼠标好像是没办法操作,所以打开那个文件以后,我点了个F12,这是一个另存为的功能,然后我把这个文件另存为另外一个文件,那个文件居然就正常了。这到底是什么情况?没人动过我的文件,我自己显示自己动过的时间是没有问题的,我不可能上一次保存的时候没有发现这种不对劲。

接下来第2天,当我要编辑完另外一个Excel文件的时候,要保存,弹个窗口出来说这个文件是只读状态,无法保存。为什么这个文件是只读状态呢?我瞄了一眼最上面的文件名和文件状态,的确显示的是只读。我出去了以后再进去,发现还是这样,我退出文件看了一下坚果云的同步,没有说其它用户正在打开这个文件,坚果云的同步状态也是显示这个文件处在普通状态,可以读写,不处在同步中。好端端一个文件,我怎么会把它设置为只读呢?然后我右键属性,把只读勾掉,接着文件就正常了。

莫名其妙出现一波Excel操作无能,莫名其妙出现一波文件自己变成了只读状态。无论是哪一条,都让人觉得很无语,也很心惊。为什么会这样呢?如果这两个文件我都没有进行坚果云同步的话,可能我动了又或者中毒了,被动了我都不知道,但实际上这两个文件是在坚果云之下同步的,所以如果文件有改动不可能没有记录,但偏偏就是发生了这样的事情,所以这到底是什么情况?是坚果云没有记录下那个东西?改变文件的属性从正常变成只读坚果云不会记录?还是说我用的是win10系统微软很快就要终止支持了,所以故意搞些事情出来。虽然据说Microsoft 365还会对win10系统延长几年安全更新。不是坚果云,不是微软,那么我感觉那个玩意就是单位装的那个EDR杀毒软件了。那个东西说不准在什么时候会启动,有时启动能感觉出来,有时不知道。我觉得那个东西会在我们的电脑里面注入某些数据。比如生成一些隐藏的诱捕文件,据说那些诱捕文件是用来引诱勒索软件的。因为宿舍的电脑我设置了显示全部隐藏文件,所以某一天开机以后,我发现桌面多了几个奇怪命名奇怪后缀的东西,打开发现里面的东西完全看不懂。某一天我又发现,宿舍的那台电脑的坚果云同步了几个旧的文件,只是几个而已,那些都是好几年前的文件了,为什么要同步那些文件呢?打开那些东西,显示没有问题,但至于里面的内容怎么样,不知道。我下载了上一个版本跟同步的那个版本对比,也没有发现有什么不一样的地方,但既然触发了坚果云的同步,我觉得肯定是有些东西变化了,但这到底是什么呢?在单位使用使用这个EDR杀毒软件之前,我的坚果云,我的Microsoft 365都没有出现过上述的那几种奇怪现象。

如果杀毒软件是我们自己装的、是单机版的,我们还可以让它暂停、让它退出,但是这个EDR根本不受终端电脑的控制,所以如果某一天有人控制了我们的总控,那该怎么办呢?

Why Isn't Windows Free?

Windows is the most popular operating system in the world, and you'll find it on almost every desktop, mobile, and handheld computer out in the wild. This has been the situation for years, and the OS has been a huge money-spinner for Microsoft. In fact, it's what put the company on the map.

6 Great Shows Returning to Apple TV+ This Season

Apple TV+ is on fire in 2025 with its slew of new and returning content—all of which includes popular titles and long-awaited new seasons. While the first half of the year has focused more on new releases, the second half is taking a different route and debuting new installments of some of its most popular ongoing shows.

The 8 Best Killer Toy Movies That You Can Stream Now

The original M3GAN was such a hit that a sequel will soon be dancing its way into theaters. I’m a bit of a fanboy, so I’m looking forward to seeing this queen lay down the law (and lay down some victims) yet again. I’m so excited, in fact, that I decided to get ready for her latest outing by watching her cinematic predecessors slash their way through one victim after another.

越改越糟糕

当年今日

前段时间工作群里说国粮局新系统上线了,在新系统里也可以到旧系统里去。当我用旧系统的账号密码去登录的时候,说我密码错误。第1次我觉得是不是幻觉,第2次,我再试了一遍,发现不行。我已经不敢试第3次了,因为如果第3次失败,账号就锁定了。集团公司的人宣布国粮局的新直报系统上线的时候,他们自己已经试过了,他们的账号可以登录,但是他们不知道,我们这些不是报账单位的子账号可能根本就信息不全。我试了不行,集团公司说她可以,所以我又找了一个朋友试一下,她也是子账号,她也不行。我不知道她为什么也试了两次,然后我就马上把她叫住,不能第3次了。我们不能尝试第3次,我们只能等通知。

这周三我们终于等来了通知,宣布的是6月份的报表要在新系统里做,之前说过新系统可以去旧系统。但我不知道他们有没有尝试过。新系统登录的时候会给你一个默认的密码,进去以后会马上让你修改。但是当我在新系统里面摸索一番,发现我要去旧系统里面确认老的导出模板的某个细节的时候,发现在旧系统里,无论我用新密码还是旧密码都无法登录。你好歹告诉我用的是什么密码。当我在新系统完成了登录以后,你给我一个旧系统的链接,那个界面转了好多转才终于过去了,而实际上他们做的就只是把我们引导去旧系统的那个登录网址。为什么要转那么多手呢?我不知道,开发这个国粮局新系统的到底是哪一家?他们可以去死了!按照正常人的理解,既然我已经用这个账号的密码登录进去了,为什么我去这个账号的那个旧系统还得登录一遍呢?之前我就尝试过用旧系统的账号跟密码在新系统里登录不了,后来被告知新系统我们这些子账号的密码是被重置过的。所以现在我们旧系统的密码到底是什么呢?虽然可能在新系统里面也能查到旧系统的数据,但如果既然这样,你就不应该把旧系统的入口给我摆出来,因为摆出来你也只是引诱我三次密码错误,没有任何意义。

我觉得极端无语的是新系统的使用说明之类的东西要登录了以后才能看到,但是登录之前你怎么知道你的密码被重置了呢?当然,他们之所以这样做,是因为这个直报系统是挂在互联网的,如果被人知道了账号,然后又知道了你的默认密码,后果很严重,但如果他们觉得这个会很严重,直报系统居然没有做https?之前那个旧系统是浪潮做的,新系统是不是浪潮做的我不知道,从网页的配色来说,有区别,但就功能来说,我感觉没什么两样,使用起来更复杂了,给你的选项更多了,但这只会引导人犯更多错误。比如说在导出的界面有很多选项。我敢肯定,80%的小白根本不知道那在说什么。在报表填报的页面也出现了一些莫名其妙禁止,比如填完这个单元格,你不可以通过键盘的左右键去左边或者右边的单元格填写,单元格的定位必须使用鼠标。还有就是,以前填写完毕保存才自动生成计算数据,现在居然在填写的时候就马上生成。这样的坏处显而易见,如果突然某个时段有很多人同时使用,这个填报的网页肯定会卡死,而且会卡得非常严重。让我觉得很无语的还有明明只是填报告报表,但是要打开那个填报的报表页面却要点击好几轮,为什么要制造这种人为的麻烦呢?我点击那几轮的东西,除了拖延时间,没有其它了。

旧的那个系统大概是在2015年开发出来的,2016年开始使用,10年之后做一个新系统无可口非,但是新系统做出来比旧系统还要烂。这到底是什么人的什么逻辑?

在这系统里,我们最希望他们改进的是导出的那些表格,要完全符合打印标准,直接打印就好了,但是一直以来旧系统都没有做这个改进。现在新系统上线了,同样是完全不考虑导出之后直接打印的这个功能。如果你觉得没必要设置这个导出后打印的功能,那么你在填报的那个界面给我打印按钮和靠谱的打印格式也可以啊,但实际上并没有。

国粮局的直报系统挂在华为云上。之所以知道,是因为我拿那个网址去搜索了。这个网址是从国粮局的网站里直接公布出来的。当国字号遇上华为和浪潮,出来的东西我只能呵呵呵。

10 Netflix Kids Shows Parents Can Love Too

Kids love summer because they are out of school and have infinitely more free time. However, parents often dread it for a simple reason: they have to keep kids entertained, often for long stretches of time. That means watching kids’ shows together, many of which can be mind-numbingly awful.

碎碎念2025W?

几乎没有表达的欲望了——内心却很丰富,每天都“很忙”。 我打开了一扇窗 我看到了阳光还有阴影 人们的笑脸和沮丧 有时候 阳光有些刺眼 沮丧淹没笑脸 有时候阳光温柔 孩子们嬉戏 L’amour est l’enfant …

typecho支持avif图片格式

在张洪大佬《实现全站图片使用avif格式,替代臃肿的webp教程》一文中学习并认识到了AVIF这个图片格式。这个格式相较于传统的jpg、png甚至webp等都具有很大的优势,唯一小遗憾就是有些许浏览器或者手机端不支持。但,无所畏惧。喜欢折腾和动手的我,准备开启博客的avif之旅。

什么是AVIF?

AVIF是一种基于AV1视频编码的新图像格式,相对于JPEG、WebP等图片格式压缩率更高,并且画面细节更好。AVIF通过使用更现代的压缩算法,在相同质量的前提下,AVIF文件大小是JPEG文件的35%左右。

AVIF支持高动态范围(HDR)和标准动态范围 (SDR)内容,包括常用的sRGB和BT.2020色彩空间。它支持8、10和12位的颜色深度、胶片颗粒保留、PNG图像的透明度以及GIF格式的动画。

实际情况就是,更小的图片,更快的加载速度,且画质还不怎么受影响。实际请看下图。同样一张图片,avif和webp相差的大小和加载速度不同,所以avif还是有点香的。

当然,avif的缺点就是并不兼容有些浏览器,比如Edge

Nginx添加规则

在你的nginx服务器http里面添加如下规则后,重启服务器即可。

types {
    image/avif avif;
}

Typecho怎么实现avif

Typecho打开网站根目录,进入Var找到Widget,打开Options.php文件,大约673行,差不多最后面,添加AVIF,例

    /**
     * 允许上传的文件类型
     *
     * @return array
     */
    protected function ___allowedAttachmentTypes(): array
    {
        $attachmentTypesResult = [];
        if (null != $this->attachmentTypes) {
            $attachmentTypes = str_replace(
                ['@image@', '@media@', '@doc@'],
                [
                    'gif,jpg,jpeg,png,avif,tiff,bmp,webp', 'mp3,mp4,mov,wmv,wma,rmvb,rm,avi,flv,ogg,oga,ogv',
                    'txt,doc,docx,xls,xlsx,ppt,pptx,zip,rar,pdf'
                ],
                $this->attachmentTypes
            );
            $attachmentTypesResult = array_unique(array_map('trim', preg_split("/(,|\.)/", $attachmentTypes)));
        }
        return $attachmentTypesResult;
    }
}

阿里云怎么实现avif

阿里云OSS定义图片为avif,后缀
?x-oss-process=image/format,avif

我自己的博客不是从官网添加的规则,是直接通过AliOssForTypecho的默认自定义样式实现。即不管你上传的是什么照片格式,添加了这个后缀以后,呈现出来的就是avif图片。但你上传的源文件还是原本的图片格式,存在在oss里面。当然我自己的服务器也有备份。

考虑到目前大部分浏览器和手机都兼容AVIF,所以不兼容的方案我没有添加进去。当然,也是因为目前我使用的几个方法都不太成功。如果有会的,留言说一下。阿里云官方的使用picture标签和CSS+JS方式都不太适合我,我想直接通过在Nginx里进行判断,但现在还没有找对方法。

❌