I finally got this working through brute force. I downloaded all the RPMS for php I needed (cli,devel,common,pdo,mysql,xml,ldap).
I compiled openldap 2.3.5 from source and yum installed 'libedit' (one of the php rpms needed it
Then i ran rpm -ivh on each of the php rpm's. Some depended on each other so there's definitely an order to do them in (example pdo must go before mysql), but by trial and error PHP 5.4 is successfully installed.
Something that should have been as simple as
sudo rpm -ivh http://some.complete.repo/
sudo yum install php php-common php-cli php-devel php-xml php-pdo php-mysql php-ldap
But welcome to the world of Linux :P. (And one wonders how Microsoft did well over all these years with their crappy OS)
/end_rant