Actually, not much troubleshooting can be done when
compiling static or dynamic modules. The only problem that
could arise is that the compiler will complain about missing
definitions or something similar. In this case, make sure
that all header files are available and that you specified
their path correctly in the compilation command. To be sure
that everything is located correctly, extract a clean PHP
source tree and use the automatic build in the ext directory with the fresh files; this will
guarantee a safe compilation environment. If this fails, try
manual compilation.
PHP might also complain about missing functions in your
module. (This shouldn't happen with the sample sources if you
didn't modify them.) If the names of external functions
you're trying to access from your module are misspelled,
they'll remain as "unlinked symbols" in the symbol table.
During dynamic loading and linkage by PHP, they won't resolve
because of the typing errors - there are no corresponding
symbols in the main binary. Look for incorrect declarations
in your module file or incorrectly written external
references. Note that this problem is specific to dynamic
loadable modules; it doesn't occur with static modules.
Errors in static modules show up at compile time.