那些出现 bug 的原因: Difference between revisions

From 清冽之泉
Jump to navigation Jump to search
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
* 鎵句笉鍒版寚瀹氱殑妯″潡銆
{| class = "wikitable"
: 这是一串乱码,问通义千问和 Kimi 都无解,灵机一动搜乱 [http://www.mytju.com/classCode/tools/messyCodeRecover.asp 乱码恢复] 解决了,它是 UTF8 “找不到指定模块” 被当成 GBK 显示时的样子
! 现象
! 解决
|-
| 鎵句笉鍒版寚瀹氱殑妯″潡銆
| 这是一串乱码,问通义千问和 Kimi 都无解,灵机一动搜乱 [http://www.mytju.com/classCode/tools/messyCodeRecover.asp 乱码恢复] 解决了,它是 UTF8 “找不到指定模块” 被当成 GBK 显示时的样子


* php 找不到 apcu 模块
|-
: 找遍种种原因,如 apcu 版本不对,apcu 放置路径不对,apcu 路径没添加到环境变量,apcu 不支持 php 8.2,xampp 不支持 apcu,apcu 用于 Windows 需要编译,重启深度不够……全都没用;问过通义千问、Kimi AI、Bing,也没弄明白。最后,创建 <code> info.php </code>,内容如下:
| php 找不到 apcu 模块
<syntaxhighlight lang="php" line>
|
找遍种种原因,如 apcu 版本不对,apcu 放置路径不对,apcu 路径没添加到环境变量,apcu 不支持 php 8.2,xampp 不支持 apcu,apcu 用于 Windows 需要编译,重启深度不够……全都没用;问过通义千问、Kimi AI、Bing,也没弄明白。最后,创建 <code> info.php </code>,内容如下:
<syntaxhighlight lang="php">
<?php
<?php
phpinfo();
phpinfo();
Line 11: Line 17:
终于排查出,我的 php 8.2 是 Thread Safety 的,即内存安全的,而我下载的 apcu.dll 是 Non Thread Safety 的。重新下载一份,立刻解决了问题。感谢 CSDN 博主 @weixin_39673293 的 [https://blog.csdn.net/weixin_39673293/article/details/111521258 这篇文章] 中的 nts 关键提示!
终于排查出,我的 php 8.2 是 Thread Safety 的,即内存安全的,而我下载的 apcu.dll 是 Non Thread Safety 的。重新下载一份,立刻解决了问题。感谢 CSDN 博主 @weixin_39673293 的 [https://blog.csdn.net/weixin_39673293/article/details/111521258 这篇文章] 中的 nts 关键提示!


* WSL 中刚安装的 MediaWiki,可以访问首页,一保存就 The connection was reset
|-
 
| WSL 中刚安装的 MediaWiki,可以访问首页,一保存就 The connection was reset
|
首先查看 /var/log/apache2 中的 error.log 显示:
首先查看 /var/log/apache2 中的 error.log 显示:
<pre>
<pre>
Line 18: Line 25:
</pre>
</pre>


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


重启出现:
重启出现:
Line 25: Line 32:
</pre>
</pre>


有网友说因为 WSL 1 不支持 [https://askubuntu.com/questions/1431987/ubuntu-22-04-92protocol-not-available-ah00076-failed-to-enable-apr-tcp-defer TCP_DEFER_ACCEPT],果断转为 WSL 2。成功
有网友说因为 WSL 1 不支持 [https://askubuntu.com/questions/1431987/ubuntu-22-04-92protocol-not-available-ah00076-failed-to-enable-apr-tcp-defer TCP_DEFER_ACCEPT],果断转为 WSL 2。成功。
|}

Latest revision as of 16:47, 19 October 2024

现象 解决
鎵句笉鍒版寚瀹氱殑妯″潡銆 这是一串乱码,问通义千问和 Kimi 都无解,灵机一动搜乱 乱码恢复 解决了,它是 UTF8 “找不到指定模块” 被当成 GBK 显示时的样子
php 找不到 apcu 模块

找遍种种原因,如 apcu 版本不对,apcu 放置路径不对,apcu 路径没添加到环境变量,apcu 不支持 php 8.2,xampp 不支持 apcu,apcu 用于 Windows 需要编译,重启深度不够……全都没用;问过通义千问、Kimi AI、Bing,也没弄明白。最后,创建 info.php ,内容如下:

<?php
phpinfo();
?>

终于排查出,我的 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。成功。