Method Runs as User? Allows per-site php configuration?1 Requires wrapper script?2 Notes
mod_php No apache No  
mod_cgi + php-cgi No php.ini No  
mod_fcgi + php-fcgi No php-fcgi.ini No  
mpm-itk + mod_php Yes apache No  
mpm-peruser + mod_php Yes apache No Requires modification of main apache configuration file to add a new site3
mod_cgi + suexec + wrapper + php-cgi Yes php.ini Yes  
mod_fcgi + suexec + wrapper + php-fcgi Yes php-fcgi.ini Yes  
mod_suphp + suphp + php-cgi Yes php.ini No  

1
Allows the use of php_value etc to configure parameters per-site.
In this column, the values have the following meaning: 2
Suexec requires a wrapper script either per-user, or inside each sites' DocumentRoot. Yes is considered a bad thing here, since you can't just add your sites' configuration and be done with it. You have to create (copy) a wrapper script, with the possible chance of accidental deletion.

3
This assumes you have your apache properly set up, ie with one (or more) main configuration file(s) containing the main apache configuration, and each vhost in a seperate configuration file (or more then one vhost per configuration file). This (modification of main apache configuration file(s)) is considered a bad thing, since you can't just add your sites' configuration and be done with it.



Further performance tuning