There are a couple of things a web-developer needs ... data-models, with validations, form/request handling with validations (forms that render themselves are a plus), authentication/authorization (OpenID/Facebook/whatever support should be available of course), CRUD generating (I don't want to work on stupid admin interfaces that show tables of existing items more than 10 minutes), session handling, caching support backed in, a nice templating language that doesn't suck ... and a (lazy) ORM querying language would be nice (bonus points if it has integration with NoSQL databases). And all of them nicely integrated of course, as I don't want to lose time trying to figure out how to blend them in.
That's not much to ask, and these are problems devs have struggled with in the last 10 years ... it is unacceptable to work just with servlets.
Clojure has solutions for many of things your are talking about. If you don't want go looking for them, fine. All you're illustrating here is your ignorance of the "other side" and your unwillingness to find out.
Clojure doesn't suffer for capability or libraries. It has that in spades and then some. The main thing missing is a site that documents how to use these pieces in concert to accomplish common web programming tasks.
Clojure (or any functional language) doesn't have a tiny fraction of the libraries/frameworks/documentation that PHP does. Design a language that only the top 25% of the programmers in the world are smart enough to use and you'll get 2% of the infrastructure blub languages have.
The challenge is to prove that those smart programmers working in that smart language are still more productive than the average programmers that started with the problem 75% solved out of the gate. For basically solved problems like CRUD webapps you won't be able to do this. For harder problems like scheduling air travel you might but then you're working in a problem domain too difficult for at least 3/4 of the working programmers today so you're in an even smaller niche.
"Clojure (or any functional language) doesn't have a tiny fraction of the libraries/frameworks/documentation that PHP does."
PHP is pretty bad when it comes to reusable libraries. PEAR is a pretty unusable mess, the Zend "framework" is a bit better, but still not that all-encompassing. Core PHP is a huge hodgepodge of very bare wrappers around C libraries, without a decent module system or OO layer.
The documentation is often centered around newbie questions and most frameworks really reinvent the wheel -- and quite often Ruby on Rails (which is pretty painful considering the PHP execution model).
I'd rate the library repositories of Perl, Ruby and Python above that, and even with some paradigm mismatch, Clojure's access to Java libraries is at least on par with PHP (PHP/C vs. Clojure/Java).
I've avoided PHP like the plague so I'll take your word for it. I'd consider using it for a couple of quick & dirty simple pages but for anything more complex I'd definitely use Rails (or Django etc).
As another poster noted, Clojure gives you access to the Java libraries, which is a huge, huge win for Clojure vs most other functional languages but gluing that stuff together is still going to be more work than it's worth if you're not doing something really unusual with your site.
The functional web stack that looks the most promising to me at the moment is the Play framework with Scala. It seems a lot simpler and more manageable than Lift and Scala drops in pretty nicely in place of Java. From what I can tell there are still a lot of rough edges but I think it's a combination worth keeping an eye on.
I do consulting mostly ... I'm building many apps for business that want to optimize workflows, but I'm also doing crazy shit ... like in a cinema room I built software for scheduling/synchronizing movies on digital and analog projectors (also in tandem with lights and sound).
There are a couple of things a web-developer needs ... data-models, with validations, form/request handling with validations (forms that render themselves are a plus), authentication/authorization (OpenID/Facebook/whatever support should be available of course), CRUD generating (I don't want to work on stupid admin interfaces that show tables of existing items more than 10 minutes), session handling, caching support backed in, a nice templating language that doesn't suck ... and a (lazy) ORM querying language would be nice (bonus points if it has integration with NoSQL databases). And all of them nicely integrated of course, as I don't want to lose time trying to figure out how to blend them in.
That's not much to ask, and these are problems devs have struggled with in the last 10 years ... it is unacceptable to work just with servlets.