It seems that you have two copies of Apache httpd installed. If you do a "which httpd" as root it will show where one of them is. The first one (with mod_so) shows that DSO may be used and is compiled in. The second does not have DSO but has particular modules compiled into httpd itself. If you use the first one then you do not need to recompile Apache httpd, if you use the second then you do.Please have a look on different output coming from "httpd -l" and "/usr/local/etc/httpd/bin/httpd -l ".
# httpd -l (it will show mod_so.c) Compiled-in modules: http_core.c mod_so.c suexec: disabled; invalid wrapper /usr/sbin/suexec
# /usr/local/etc/httpd/bin/httpd -l ((it will NOTshow mod_so.c)) Compiled-in modules: http_core.c mod_env.c mod_log_config.c mod_mime.c mod_negotiation.c mod_status.c mod_include.c mod_autoindex.c mod_dir.c mod_cgi.c mod_asis.c mod_imap.c mod_actions.c mod_userdir.c mod_alias.c mod_rewrite.c mod_access.c mod_auth.c mod_setenvif.c mod_php4.c suexec: disabled; invalid wrapper /usr/local/etc/httpd/bin/suexec
Seems, I have to recompile Apache, right? Will it overwrite my configuration? what files do I need to backup? Recompile means installation from scratch?
I think you should first check why you have two Apache httpd installations (you can have two, there is no reason why not). As well as doing the "httpd -l" that you have done, you could do "httpd -V" and this will show the configuration options each was compiled with. That way you can find the directories for each (you know the second one but not the first).
You need to find out which one you want to use to upgrade PHP and then we work with that one. The second one has PHP compiled into the httpd executable (module mod_php4.c) so that definitely can run PHP. The first one could run PHP if the libphp4.so module is in the right place and the httpd.conf is configured to use it.
HTH Chris