飞牛(FnOS)安装宝塔面板后,无法获取 PHP 最新扩展列表的解决方案

飞牛(FnOS)安装宝塔面板后,无法获取 PHP 最新扩展列表或无法成功安装扩展,通常是因为沙盒网络隔离(如果是 Docker 部署)、DNS 无法解析宝塔云端节点**,或 FnOS 底层 Debian 系统的基础编译依赖与 SSL 库未更新导致的**。

请按照以下步骤依次排查和解决:

1. 更新系统依赖与 OpenSSL(最常见原因)

飞牛 OS 基于 Debian 12 开发,由于系统基础库与宝塔脚本的兼容原因,可能导致宝塔面板请求境外/云端扩展数据时握手失败。

  1. 点击宝塔面板左侧导航栏的 【终端】(或通过 SSH 工具连接飞牛后台)。

  2. 执行以下命令升级系统的 OpenSSL 和基础证书:

    apt update && apt upgrade -y openssl ca-certificates
    
  3. 执行完成后,回到宝塔面板,点击右上角的 【重启】 → 【重启面板】。

2. 清理面板缓存与修复列表

有时云端列表下载到本地文件损坏或为空,导致列表刷不出来。

  1. 同样在宝塔 【终端】 中,执行面板修复命令(这会重新从宝塔官方拉取最新的软件和扩展环境映射表):

    bt 16
    
  2. 执行后,刷新浏览器页面。进入 【软件商店】,点击顶部的 【更新软件列表】 按钮。后再去查看 PHP 的【安装扩展】页面。

3. 检查容器网络与 DNS 设置

如果你是通过飞牛的应用中心(基于 Docker 容器)安装的宝塔面板:

  • 检查网络模式:确保宝塔容器的网络模式使用的是 Host(主机模式)。如果是 Bridge(桥接模式),容器可能因为内部 DNS 无法连接外网,导致验证码、软件列表、PHP扩展列表无法加载。

  • 修改 DNS 配置文件:
    在终端中查看容器的 DNS 解析是否正常:

    cat /etc/resolv.conf
    

    如果发现没有配置公网 DNS,可以将其修改为通用 DNS(如 223.5.5.5 或 114.114.114.114)。

4. 强制更换宝塔云端下载节点

如果是因为飞牛所在的宽带网络与宝塔当前分配的下载节点连接受阻,可以利用官方脚本切换节点:
在终端执行以下命令,强制面板重新测速并绑定最快的节点:

curl -sS https://bt.cn | bash

我是安装了OpenSSL后解决问题了,大家可以探索交流