Apache mod_suid allows per-vhost execution of scripts under their own UIDs. It functions in a way similar to Apache's perchild MPM, but differs in a number of ways. It does per child user/group switching; the Apache MPM makes switches based on vhosts. All processing is done under a specific UID/GID, including PHP and mod_perl scripts.