Tried calling with exec and shell_exec. Shouldn't be permissions issues because locally for testing it's running as my user. I can manually run the script exactly as PHP outputs it. Maybe some sort of environment issue, but I am using full paths for everything as near as I can tell.
Could be an issue getting the SSH key it needs to run the stuff that's in the shell script, but since it's running as my user, I don't see how that would be an issue, but maybe it is.
If I set the shell_exec as being assigned to an $output variable, and then dump that to a text file, there's nothing there. No errors, no output as it would normally have if it's successful. The process does take longer when uploading the file in the panel, though, so it's trying to do something.