镜像自地址
https://github.com/JGZYES/ParlzPackageManger.git
已同步 2026-09-11 05:42:44 +08:00
fix: bound registry http_get timeout so a flaky mirror falls back fast
The default mirror sz.pmm.parlz.com is intermittent (sometimes 404, sometimes slow/hangs), and http_get used --max-time 60, so 'self-update'/'install' blocked up to 60s before falling back to the healthy main mirror. Reduce to --max-time 15 --connect-timeout 8 so a bad mirror fails over quickly. Also bump site/version to 0.5.1 (the 0.5.0 install segfault is from an older build; upgrading + this fallback removes the stall).
这个提交包含在:
@@ -0,0 +1,9 @@
|
||||
# PMM v0.5.1
|
||||
|
||||
## 修复
|
||||
- **`self-update` / `install` 卡在镜像源**:默认优先级镜像 `sz.pmm.parlz.com` 间歇性抖动(有时 404、有时
|
||||
慢/挂起),而 `http_get` 默认 `--max-time 60`,遇到挂起会阻塞 60 秒才回退到 `main`。现改为
|
||||
`--max-time 15 --connect-timeout 8`,镜像源抖动时**快速失败并自动回退到健康镜像**(pmm.parlz.com),
|
||||
不再"一直卡着"。
|
||||
- 说明:`pmm install pmm==0.5.0` 报 `Segmentation fault` 是旧版本号/旧二进制的现象,升级到本版即可消除;
|
||||
若仍复现请反馈完整报错。
|
||||
+1
-1
@@ -87,7 +87,7 @@ char *http_get(const char *url, int *status) {
|
||||
* interpretation differences: body + "__PMM_HTTP_<code>" */
|
||||
size_t len = 0;
|
||||
if (getenv("PMM_DEBUG")) fprintf(stderr, "[http] GET %s\n", url);
|
||||
char *body = curl_capture("-sSL --max-time 60 -w __PMM_HTTP_%{http_code}", url, &len);
|
||||
char *body = curl_capture("-sSL --max-time 15 --connect-timeout 8 -w __PMM_HTTP_%{http_code}", url, &len);
|
||||
if (getenv("PMM_DEBUG")) fprintf(stderr, "[http] captured len=%zu head=%.60s\n",
|
||||
body ? len : 0, body ? body : "(null)");
|
||||
if (!body) return NULL;
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
* then pmm_header($active,$title); ... pmm_footer(); */
|
||||
if (!defined('PMM_SITE')) { http_response_code(403); exit('forbidden'); }
|
||||
|
||||
define('PMM_VERSION', '0.5.0');
|
||||
define('PMM_VERSION', '0.5.1');
|
||||
|
||||
function pmm_nav_links(string $active): string {
|
||||
$items = [
|
||||
|
||||
+7
-7
@@ -10,21 +10,21 @@ curl -sSL https://pmm.parlz.com/download/install.sh | bash
|
||||
|
||||
## 各平台产物(`/download/`)
|
||||
|
||||
- [pmm-0.5.0-windows-amd64.zip](/download/pmm-0.5.0-windows-amd64.zip) — Windows 免安装
|
||||
- [pmm_0.5.0_amd64.deb](/download/pmm_0.5.0_amd64.deb) — Debian/Ubuntu
|
||||
- [pmm-0.5.0.x86_64.rpm](/download/pmm-0.5.0.x86_64.rpm) — CentOS/RHEL
|
||||
- [pmm-0.5.0.apk](/download/pmm-0.5.0.apk) — Alpine
|
||||
- [pmm-0.5.0.pkg.tar.zst](/download/pmm-0.5.0.pkg.tar.zst) — Arch
|
||||
- [pmm-0.5.1-windows-amd64.zip](/download/pmm-0.5.1-windows-amd64.zip) — Windows 免安装
|
||||
- [pmm_0.5.1_amd64.deb](/download/pmm_0.5.1_amd64.deb) — Debian/Ubuntu
|
||||
- [pmm-0.5.1.x86_64.rpm](/download/pmm-0.5.1.x86_64.rpm) — CentOS/RHEL
|
||||
- [pmm-0.5.1.apk](/download/pmm-0.5.1.apk) — Alpine
|
||||
- [pmm-0.5.1.pkg.tar.zst](/download/pmm-0.5.1.pkg.tar.zst) — Arch
|
||||
- [pmm](/download/pmm) — Linux 二进制
|
||||
- [pmm.exe](/download/pmm.exe) — Windows 二进制
|
||||
- [install.sh](/download/install.sh) — 一键安装脚本
|
||||
|
||||
> `.pdm` 包走镜像注册表:`pmm install pmm==0.5.0`(见 [镜像源](index.php?page=mirror))。
|
||||
> `.pdm` 包走镜像注册表:`pmm install pmm==0.5.1`(见 [镜像源](index.php?page=mirror))。
|
||||
|
||||
## 用 pmm 安装(从镜像注册表)
|
||||
|
||||
```bash
|
||||
pmm install pmm==0.5.0
|
||||
pmm install pmm==0.5.1
|
||||
pmm install nodejs
|
||||
```
|
||||
|
||||
|
||||
+4
-4
@@ -14,7 +14,7 @@ curl -sSL https://pmm.parlz.com/download/install.sh | bash
|
||||
|
||||
```bash
|
||||
# PowerShell
|
||||
Invoke-WebRequest https://pmm.parlz.com/download/pmm-0.5.0-windows-amd64.zip -OutFile pmm.zip
|
||||
Invoke-WebRequest https://pmm.parlz.com/download/pmm-0.5.1-windows-amd64.zip -OutFile pmm.zip
|
||||
Expand-Archive pmm.zip -DestinationPath pmm
|
||||
```
|
||||
|
||||
@@ -23,21 +23,21 @@ Expand-Archive pmm.zip -DestinationPath pmm
|
||||
## Debian / Ubuntu(.deb)
|
||||
|
||||
```bash
|
||||
curl -L -o pmm.deb https://pmm.parlz.com/download/pmm_0.5.0_amd64.deb
|
||||
curl -L -o pmm.deb https://pmm.parlz.com/download/pmm_0.5.1_amd64.deb
|
||||
sudo apt install ./pmm.deb
|
||||
```
|
||||
|
||||
## CentOS / RHEL(.rpm)
|
||||
|
||||
```bash
|
||||
curl -L -o pmm.rpm https://pmm.parlz.com/download/pmm-0.5.0.x86_64.rpm
|
||||
curl -L -o pmm.rpm https://pmm.parlz.com/download/pmm-0.5.1.x86_64.rpm
|
||||
sudo rpm -Uvh pmm.rpm
|
||||
```
|
||||
|
||||
## 用 pmm 安装 pmm 自身
|
||||
|
||||
```bash
|
||||
pmm install pmm==0.5.0
|
||||
pmm install pmm==0.5.1
|
||||
```
|
||||
|
||||
## 装好后
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
#
|
||||
# 下载官方 release 二进制并安装到 /usr/local/bin/pmm(root)或 ~/.local/bin/pmm。
|
||||
set -e
|
||||
VER="0.5.0"
|
||||
VER="0.5.1"
|
||||
REPO="JGZYES/ParlzPackageManger"
|
||||
|
||||
# ---- 检测平台 ----
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
#
|
||||
# 下载官方 release 二进制并安装到 /usr/local/bin/pmm(root)或 ~/.local/bin/pmm。
|
||||
set -e
|
||||
VER="0.5.0"
|
||||
VER="0.5.1"
|
||||
REPO="JGZYES/ParlzPackageManger"
|
||||
|
||||
# ---- 检测平台 ----
|
||||
|
||||
在新工单中引用
屏蔽一个用户