Java pre-dates PHP by a pretty decent margin, and banks were some of the first institutions to start computerizing their infrastructure. So as a rule, most of them had a lot of stuff already in place, sometimes in Java, long before PHP even existed.
But that's not all. PHP is generally considered a web-only language. You can theoretically use it for other things, but it's a poor fit. Banks need a lot more code running their systems than just the web front-end. And since the vast majority of their code (and therefore their programmers) aren't using PHP, it doesn't make sense to use PHP for just the web front-end.
But that's not all either. Java and .NET aren't perfect and they've both had issues in the past. But when you compare their reputation against PHP, Java and .NET come out smelling like roses. Now PHP's reputation may not be deserved; there's a lot of really bad PHP programmers out there and a lot of really bad PHP code which isn't necessarily the fault of the language itself. Still, it's charitable to say PHP is a bit "quirky". And if you're looking for rock-solid secure and maintainable design, there's a strong argument to be made that PHP is not your best bet.