After about a decade programming PHP, I'm now mostly using java 8 (play framework), with some node.js thrown in on the side. I've found that PHP's benefits are also its downsides. The simplistic concurrency model where every request starts from a blank slate and has no asynchronicity is easy to understand, but difficult to optimize for performance. The large knowledge base is great for getting a solution, not so great for getting the right solution. The "just keep going" error handling philosophy is excellent for newbie programmers, but terrible for guaranteeing correct operation. The interpreted zero-build dev model is excellent for quick edit-reload cycles, not so great for large-scale refactorings where you want to know you've correctly adapted all uses of a core api.
Java has improved a lot from what I remember it used to be. Java 8's elimination of a lot of the boilerplate, coupled with the simplicity of the play framework, and activator's hot reloading of code for quick edit-reload cycles brings it on par with PHP as far as developer comfort is concerned, at least for me. In my experience java is nicer for large-scale web dev, while PHP is nicer for a quick side project. Node with javascript I would put more in the PHP camp than the Java camp. It is great for side projects, but scaling it up necessitates switching languages to something like typescript with a whole-project build, which takes away much of the "ease" that something like PHP or Node provides.