diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 1f4af28..ab8736a 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -22,10 +22,24 @@ jobs: - name: PHP 语法检查 run: | - set -e echo "📝 PHP 语法检查..." - find . -name "*.php" -not -path "./vendor/*" -print0 | xargs -0 -n1 php -l - echo "✅ 所有 PHP 文件语法正确" + + # 检查每个 PHP 文件 + for file in $(find . -name "*.php" -not -path "./vendor/*"); do + php -l "$file" > /tmp/lint_$file.txt 2>&1 || true + done + + # 合并所有输出 + cat /tmp/lint_*.txt > /tmp/all_lint.txt + + # 检查是否有错误 + if grep -q "Parse error\|Fatal error\|Syntax error" /tmp/all_lint.txt; then + echo "❌ PHP 语法错误详情:" + base64 /tmp/all_lint.txt + exit 1 + else + echo "✅ 所有 PHP 文件语法正确" + fi # 单元测试 test: