@shachneff

Как изменить идентификатор скомпилированного модуля Apache?

Имеется скомпилированный модуль xxx.so для apache 2.2.
У модуля есть идентификатор модуля _yyy_module, который указывается при подключении модуля в директиве LoadModule _yyy_module "путь к модулю".

Так же модуль предоставляет handler вида zzz-application, который используется внутри конструкции таким образом:
SetHandler zzz-application.

Собственно, далее суть проблемы. У меня есть две разные версии этого модуля. Нужно заставить их работать одновременно в рамках одного экземпляра Apache. Для этого я поменял у них handler простой правкой строки zzz-application в файле модуля: zz1-application и zz2-application.

Проверил, что правка не разрушила работоспособность модуля.
Теперь надо загрузить оба модуля, однако, в конструкции LoadModule нельзя указывать одинаковые идентификаторы модуля. Ищу в файле xxx.so вхождение строки _yyy_module, меняю на _yy1_module и _yy2_module, пытаюсь загрузить в apache и получаю 2 ошибки при старте:

apache2: Syntax error on line 214 of /etc/apache2/apache2.conf: Syntax error on line 2 of /etc/apache2/httpd.conf: Cannot load /opt/xx1.so into server: /opt/xxx1.so: undefined symbol: _yy1_module
Action 'start' failed.

apache2: Syntax error on line 215 of /etc/apache2/apache2.conf: Syntax error on line 2 of /etc/apache2/httpd.conf: Cannot load /opt/xx2.so into server: /opt/xx2.so: undefined symbol: _yy2_module
Action 'start' failed.

Можно ли как-то исправить эту беду патчингом?
  • Вопрос задан
  • 293 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы