What's the difference between "mod_fastcgi" and "mod_fcgid"?

The difference is explained quite well here:
libapache2-mod-fastcgi: fastcgi does not retry select() on EAGAIN

In short: mod_fcgid passes just one request to the FCGI server at a time while mod_fastcgi passes several requests at once, the latter is usually better for PHP, as PHP can manage several request using several threads and opcode caches like APC usually work only with threads and not with processes. This means that using mod_fcgid you end up having many PHP processes which all have their very own opcode cache.

This is also mentioned in the documentation of mod_fcgid under Special PHP considerations.


It's mostly licencing differences. mod_fcgid is the free variant of mod_fastcgi.

The way of configuration also slightly differs. Besides that, mod_fastcgi is slightly faster.