ExpressionEngine 2.3.1 was released on October 17, 2011. PHP 5.4.0 was released nearly five months later on March 1, 2012. So while it may have been compatible, it’s not possible to say with certainty. There are some bug fixes in v2.5.1 released two months after PHP 5.4 that addressed some PHP 5.4 bugs, so I am inclined to say that 2.3.1 will not be compatible.
That said, 2.3.1 is over five years old, and PHP 5.4 hasn’t had active support by PHP since late 2014. The best advice would be for you to update to at least the latest release of v2, and for your host to update to PHP 7, or at least PHP 5.6.
Both PHP 5.4 and 5.5 are way past their end of life. If you can’t use PHP 7 (and you should, it’s awesome), 5.6 at least is a must in my book. That said, requirements for EE3 state PHP 5.3.10 or better, so you could at least give it a try.
MySQL 5.5 should not be an issue. And yes, ExpressionEngine 3.4 would still work on PHP 5.4, but there are compelling business and technical reasons to encourage you to move to a platform using PHP 7 or at least PHP 5.6.
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.