This once happened to me after a quick and easy shutdown from the terminal (a bad idea). Your fix is easier than the one I used, although I don’t know if it will work in every case.
Later, I turned the phone on and when the display didn’t come up, I thought the phone was off. So I set it down and didn’t pick it up for a few weeks. By then, the battery was totally drained. After charging the battery for several days, it stayed dead. So I pulled the battery out, left the power plugged in, and booted the phone that way. With no competition between a very dead battery (a big electrical load) and the phone, the phone booted normally. Then while booted, I pushed the battery in, hoping that the intelligence in the phone would regulate the rate of battery charging. That worked. The phone stayed booted and eventually the battery took a full charge with no damage done.