PHP Categorized
PHP is only a glue language just like BASH or Perl. It is good at that, but not good at anything else, leave apart some serious work. The language is not designed. It is merely evolved by hacking up various code together in a haphazard manner (code-and-fix).
Compiled Languages
In contrast to PHP, Java is a compiled language which has been properly engineered. There are JSRs defining the language, many enterprise-grade frameworks and concepts such as EJB, JMS, ESB, Spring, Struts, Hibernate, and other.
Enterprise Software
In terms of enterprise systems, Java EE is a solution which fits the purpose (Enterprise Edition) whereas PHP is used in companies that are trying to reduce costs by hiring a cheap labor with lesser qualifications.
There has been a considerable effort to drag PHP into the Enterprise segment using various frameworks. Most notably, Zend Framework 2. The fundamental problem here is not object-orientation of PHP, but it is the lack of design, missing strong typing, non-standard solutions to standard problems (kind of hacks for everything), and a complete lack of any prescribed architecture.
Software Design (Architecture Discussed)
With PHP, the burden of architecting software is still fully up to the developers who have been doing a very poor job i.e. often not having any architecture at all, just randomly code and fix. Security and transactions are missing and need to be shoehorned by developers. In Java, one solution is annotated EJB. Also consider the fact that, in PHP, nothing happens if you omit catching exceptions or make various errors. That is until the run-time. With Java, you will get warning and errors directly at design time. That is called robustness, but with PHP you can only keep on dreaming.
Multithreading
PHP does not support multithreading. The code is always a single thread. This hinders its performance for non-trivial problems under heavier load. With Java EE, multithreading is fully supported, for example via the Runnable interface.
Support and Standards
Also consider the deployment, Web Services, and other standards. Whereas in Java, there are big companies like Oracle, IBM, RedHat, Apache, and many others, PHP has only Zend.
Conclusion
To conclude, PHP is a very bad object-oriented language. Strictly speaking, it is not even object-oriented, but hybrid which is bad from versions >5 because OOP is mixed up with procedural programming. I would only recommend PHP as a glue like BASH, but for serious work I'd use Java EE.
Related Thoughts
The main deal with the latest Zend Framework 2 is that it is trying to be like Java EE, but completely fails to deliver at least a remotely comparable set of available packages, features, tools, automation, error-checking, architecture, design, and everything.
It is, in my experience, more expensive to use PHP for complex projects than with Java.
There are also some rumors such as that PHP stands for Pretty Horrible Programming. I can confirm these.