Git Push Diagnostic - Step by Step";
// Шаг 1: git add
echo "
Step 1: git add .
";
exec('cd ' . escapeshellarg(__DIR__) . ' && git add . 2>&1', $add_out, $add_code);
echo "Return code: $add_code
";
echo "Output:" . (empty($add_out) ? '(empty)' : implode("\n", $add_out)) . "";
// Шаг 2: git commit
echo "Step 2: git commit
";
exec('cd ' . escapeshellarg(__DIR__) . ' && git commit -m "Test from web process" 2>&1', $commit_out, $commit_code);
echo "Return code: $commit_code
";
echo "Output:" . (empty($commit_out) ? '(empty)' : implode("\n", $commit_out)) . "";
// Шаг 3: git push (только если commit успешен)
if ($commit_code === 0) {
echo "Step 3: git push
";
exec('cd ' . escapeshellarg(__DIR__) . ' && git push 2>&1', $push_out, $push_code);
echo "Return code: $push_code
";
echo "Output:" . (empty($push_out) ? '(empty)' : implode("\n", $push_out)) . "";
} else {
echo "Step 3: Skipped (commit failed)
";
}
// Дополнительная информация
echo "Debug Info
";
echo "Current user: " . posix_getpwuid(posix_geteuid())['name'] . "
";
echo "Git config sshCommand: ";
exec('cd ' . escapeshellarg(__DIR__) . ' && git config --get core.sshCommand 2>&1', $ssh_cmd);
echo "" . (empty($ssh_cmd) ? '(not set)' : implode("\n", $ssh_cmd)) . "";
?>