那些出现 bug 的原因

From 清冽之泉
Jump to navigation Jump to search
  • 鎵句笉鍒版寚瀹氱殑妯″潡銆
这是一串乱码,问通义千问和 Kimi 都无解,灵机一动搜乱 乱码恢复 解决了,它是 UTF8 “找不到指定模块” 被当成 GBK 显示时的样子
  • php 找不到 apcu 模块
找遍种种原因,如 apcu 版本不对,apcu 放置路径不对,apcu 路径没添加到环境变量,apcu 不支持 php 8.2,xampp 不支持 apcu,apcu 用于 Windows 需要编译,重启深度不够……全都没用;问过通义千问、Kimi AI、Bing,也没弄明白。最后,创建 info.php ,内容如下:
1<?php
2phpinfo();
3?>

终于排查出,我的 php 8.2 是 Thread Safety 的,即内存安全的,而我下载的 apcu.dll 是 Non Thread Safety 的。重新下载一份,立刻解决了问题。感谢 CSDN 博主 @weixin_39673293 的 这篇文章 中的 nts 关键提示!

  • WSL 中刚安装的 MediaWiki,可以访问首页,一保存就 The connection was reset

首先查看 /var/log/apache2 中的 error.log 显示:

[Fri Jul 19 09:41:15.705477 2024] [core:notice] [pid 20127:tid 20127] AH00051: child pid 21039 exit signal Segmentation fault (11), possible coredump in /etc/apache2

有网友说在 php.ini 中把 memory_limit 调大试试,发现原始值为 -1,改为 500M 试试。无效。

重启出现:

Starting Apache httpd web server: apache2[Fri Jul 19 09:55:49.881666 2024] [core:warn] [pid 266:tid 266] (92)Protocol not available: AH00076: Failed to enable APR_TCP_DEFER_ACCEPT

有网友说因为 WSL 1 不支持 TCP_DEFER_ACCEPT,果断转为 WSL 2。成功。