指南故障排除
使用 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 / Debian | AlmaLinux / 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。