After PhD interview Guide
Unfortunately, academia is not always a model example when it comes to hiring practices. There are several reasons to it:


academics are often very busy. A senior faculty member can get hundred(s) emails in their inbox daily. The importance of these emails varies dramatically: most of them are general "academic spam", announcements, or something not really important. As such, most of the email is quickly trashed, including (sadly) potentially important emails from unknown address.
Academic positions are often very competitive. There can be hundred(s) of application for a single post, then reduced to a shortlist of 5 to 10 candidates. Sadly, not always HRs and academics have enough time (or motivation) to send a polite notice to unsuccessful candidates. Such a huge competition is mostly for faculty posts, rather than for PhD posts, but I imagine the attitude can be the same.
Formal procedures established by HRs can be very slow. Often academics can not make an offer of a post without HRs approval. Since HRs do not report to academic staff, a professor has a very limited possibility to speed them up. If some gears in HR department desperately need oiling, this can affect the whole university, but almost no-one except higher management can do anything about it.


There is one thing you definitely can try: email your professor again.

If this does not work, here is another one: telephone him (at work number in work hours).