mirror of
https://gitee.com/liuxioabin/fengketrade.git
synced 2026-04-17 12:57:32 +08:00
89 lines
2.5 KiB
Bash
Executable File
89 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# 一键部署修复脚本
|
|
# 用法: bash deploy_fix.sh
|
|
|
|
set -e # 遇到错误立即退出
|
|
|
|
SERVER="root@47.96.77.165"
|
|
SERVER_DIR="/www/wwwroot/fengketrade"
|
|
FILE_TO_UPLOAD="addons/shopro/library/ccblife/CcbPaymentService.php"
|
|
|
|
echo "===================================="
|
|
echo "建行支付修复 - 一键部署"
|
|
echo "===================================="
|
|
echo ""
|
|
|
|
# 检查本地文件是否存在
|
|
if [ ! -f "$FILE_TO_UPLOAD" ]; then
|
|
echo "❌ 本地文件不存在: $FILE_TO_UPLOAD"
|
|
exit 1
|
|
fi
|
|
|
|
echo "【步骤1】检查本地代码..."
|
|
echo "-----------------------------------"
|
|
if grep -q "urlencode" <(sed -n '279p' "$FILE_TO_UPLOAD"); then
|
|
echo "❌ 本地代码第279行仍包含urlencode,请先修复本地代码"
|
|
exit 1
|
|
else
|
|
echo "✅ 本地代码已修复"
|
|
fi
|
|
echo ""
|
|
|
|
echo "【步骤2】上传诊断脚本到服务器..."
|
|
echo "-----------------------------------"
|
|
scp server_diagnose.sh $SERVER:$SERVER_DIR/ || {
|
|
echo "❌ 上传诊断脚本失败"
|
|
exit 1
|
|
}
|
|
echo "✅ 诊断脚本上传成功"
|
|
echo ""
|
|
|
|
echo "【步骤3】运行服务器端诊断..."
|
|
echo "-----------------------------------"
|
|
ssh $SERVER "cd $SERVER_DIR && bash server_diagnose.sh" || {
|
|
echo "❌ 服务器诊断失败"
|
|
exit 1
|
|
}
|
|
echo ""
|
|
|
|
echo "【步骤4】上传修复后的文件..."
|
|
echo "-----------------------------------"
|
|
echo "正在上传: $FILE_TO_UPLOAD"
|
|
scp $FILE_TO_UPLOAD $SERVER:$SERVER_DIR/$FILE_TO_UPLOAD || {
|
|
echo "❌ 文件上传失败"
|
|
exit 1
|
|
}
|
|
echo "✅ 文件上传成功"
|
|
echo ""
|
|
|
|
echo "【步骤5】重启PHP-FPM..."
|
|
echo "-----------------------------------"
|
|
ssh $SERVER "systemctl restart php-fpm || service php-fpm restart" || {
|
|
echo "⚠️ PHP-FPM重启可能失败,请手动检查"
|
|
}
|
|
echo "✅ PHP-FPM重启完成"
|
|
echo ""
|
|
|
|
echo "【步骤6】清除OPcache..."
|
|
echo "-----------------------------------"
|
|
ssh $SERVER "php -r 'if(function_exists(\"opcache_reset\")){opcache_reset();echo \"OPcache cleared\n\";}'" || {
|
|
echo "⚠️ OPcache清除可能失败"
|
|
}
|
|
echo ""
|
|
|
|
echo "【步骤7】验证部署..."
|
|
echo "-----------------------------------"
|
|
echo "检查服务器上的代码..."
|
|
ssh $SERVER "sed -n '279p' $SERVER_DIR/$FILE_TO_UPLOAD"
|
|
echo ""
|
|
|
|
echo "===================================="
|
|
echo "✅ 部署完成!"
|
|
echo "===================================="
|
|
echo ""
|
|
echo "下一步:"
|
|
echo "1. 触发一次支付测试"
|
|
echo "2. 监控日志: ssh $SERVER 'tail -f $SERVER_DIR/runtime/log/\$(date +%Y%m)/\$(date +%d).log | grep 最终支付串'"
|
|
echo "3. 检查是否还有 %25u (错误) 还是 %u (正确)"
|
|
echo ""
|