Docs
指南故障排除

使用 check.sh 进行诊断

检查 HWD POS 服务器的每个组件,并修复缺失或配置错误的部分。

check.sh 的作用

check.sh 会检查 HWD POS 服务器的主要组件,输出一份 ✓ / ✗ 报告,然后让您安装或修复缺失或配置错误的组件。当安装中途停止,或有人改动了服务器配置时,它都很有用。

它可以放心地运行任意多次:不会删除数据。

运行

您可以运行安装程序留在服务器上的本地副本,也可以直接从网络运行已发布的版本。

sudo bash /var/www/HWDPOS/deploy/check.sh

两种方式都会先显示报告,然后打开修复菜单。

仅输出报告(不做任何更改)

设置 CHECK_ONLY=1,即可只查看诊断结果,不安装也不更改任何内容:

# Local copy
sudo CHECK_ONLY=1 bash /var/www/HWDPOS/deploy/check.sh

# From the network
curl -fsSL https://3r.com.pa/hwdpos_inst/check.sh | sudo CHECK_ONLY=1 bash

您也可以从服务器面板运行它:sudo hwdpanel → 选项 10) Diagnóstico (check.sh)(诊断)。参见 hwdpanel。

检查内容

  • PHP 及其扩展。
  • 实际使用的 PHP-FPM 版本(而不仅仅是终端中的 php 命令)。
  • MariaDB。
  • Web 服务器(Apache 或 Nginx)及站点配置。
  • HWD POS 数据库。
  • CUPS。
  • Chrome/Chromium(它会以 Web 用户身份运行浏览器,确认其确实可用)。
  • 打印进程 hwpos-print 和插件进程。
  • 本地管理面板 hwdpanel。
  • HWD POS 代码。
  • 站点端口:检查的是实际配置的端口,而不是默认假定为 80。

修复菜单

报告之后,会出现一个列出各组件的菜单。每次安装后都会重新检查。

按键操作
数字安装或修复对应的组件。
T安装或修复所有缺失的组件。
U从网络更新 hwdpanel 面板。
S退出。

如果缺少 hwdpanel 命令(例如在部分安装之后),check.sh 会通过管理面板对应的菜单项重新安装它。

更新 hwdpanel

check.sh 也可以直接更新面板:

sudo bash /var/www/HWDPOS/deploy/check.sh --update-panel

在替换本地副本之前,它会先创建一个 .bak 备份并检查新文件的语法,只有检查通过才会替换本地版本。

安装模式

check.sh 会根据已安装的内容检测服务器的模式(一体化、仅 Web 或仅数据库),并相应调整检查项:

  • 在仅 Web 服务器上,它不会把缺少本地 MariaDB 标记为错误,而是测试远程数据库。请用 DB_HOST=<ip> 传入其地址。
  • 在仅数据库服务器上,它检查 MariaDB 以及它是否在 3306 端口上监听。

您可以用 MODE=web、MODE=db 或 MODE=all 强制指定模式:

sudo MODE=web DB_HOST=10.0.0.5 bash /var/www/HWDPOS/deploy/check.sh

它接受的其他变量:PHP_VER、APP_DIR、DB_NAME、DB_USER、DOMAIN。参见安装程序变量。

Ubuntu/Debian 与 AlmaLinux 的区别

check.sh 在两个受支持的系统家族上都能使用:

Ubuntu / DebianAlmaLinux / Rocky / RHEL / CentOS
软件包检查dpkg(例如 php8.3-fpm、phpX.Y-<extension>)rpm(只有一个 php-fpm;pdo_mysql 包含在 php-mysqlnd 中)
修复使用 apt 安装运行 install-almalinux.sh,它同时会配置好 SELinux 和防火墙

如果 check.sh 在 Rocky/Alma/CentOS 上对所有项目都显示 ✗,说明您使用的是用 dpkg 查询软件包的旧版本。请重新下载;当前版本使用 rpm。

本页目录