|
В настоящее время мало какие проблемы могут возникнуть при компиляции
статических или динамических модулей. Единственное, что может проявиться
- компилятор будет сообщать об отсутствующих определениях или о чём-нибудь
подобном. В этом случае убедитесь, что все
header-файлы доступны и что вы специфицировали пути к ним корректно в команде компиляции.
Чтобы убедиться в корректности размещения,
извлеките чистое дерево исходников PHP и используйте автоматическое построение
в директории ext с освежением файлами с CD-ROM; это гарантирует надёжное окружение компиляции.
Если это не удастся, попробуйте откомпилировать вручную.
PHP может также сообщать об отсутствии функций в вашем модуле. (Этого не должно
случиться с исходниками-сэмплами, если вы их не модифицировали.) Если имена
внешних функций, доступ к которым вы пытаетесь получить из вашего модуля, неверно записаны, они идут как
"unlinked symbols" в таблице символов. При динамической загрузке и компоновке
PHP это не будет исправлено, из-за ошибок при печати - соответствующих
символов нет в главном бинарном файле. Найдите некорректное объявление в файле
вашего модуля или некорректно записанные внешние ссылки. Обратите внимание,
что эта проблемам специфична для динамически загружаемых модулей; она не
возникает в статических модулях. Ошибки в статических модулях выявляются на этапе компиляции. | |