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.