Skip to content

PID paths hardcoded in /status endpoint (coupled to external doc-enhance project) #219

Description

@chedong

问题描述

/status 端点中 PID 文件路径是硬编码的 /tmp/ 路径:

$pidPaths = [
    "man"     => "/tmp/bm.pid",
    "perldoc" => "/tmp/bp.pid",
    "info"    => "/tmp/bi.pid",
    "pydoc"   => "/tmp/bpy.pid",
    "ri"      => "/tmp/br.pid",
];

背景

LLM 增强功能(包括 batch-enhance.php)已在 2026-07-14 迁出到独立的 doc-enhance 项目(见 01-PRODUCT.md §2.12 和 05-PLAN.md External Projects)。这些 PID 文件路径是原 batch-enhance.php 内部约定的产物。

风险

  1. 耦合: phpMan 的 /status 端点依赖于一个已不在本仓库中的 CLI 工具的 PID 命名约定
  2. 静默失效: 如果 doc-enhance 更改了 PID 文件位置或命名,/status 对对应模式会静默报告"stopped"
  3. 不可配置: PID 路径无法通过配置覆盖

建议

超短期: 在 /status 代码上方添加注释,标明这些 PID 路径来自 doc-enhance 项目,以及它们所遵循的命名约定

中期: 考虑以下方案之一:

  • 将 PID 路径设为可通过 phpman.config.php 覆盖的常量
  • /status 端点迁移到 doc-enhance 项目本身
  • 改为通过文件系统扫描或进程列表检测来发现增强进程

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions