장 30. Troubleshooting
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.