0

ここで apache2 モジュールの例を取得します。

https://httpd.apache.org/docs/2.4/developer/modguide.html

そこでこのsdsライブラリを使用したいhttps://github.com/antirez/sds

そこで、新しいモジュールを作成し、モジュール ディレクトリに移動します。

apxs -g -n mymodule
cd mod_mymodule

mod_mymodule.c の 44 行目に追加:

#include "sds.h"

49行目のmymodule_handlerに追加します

sds a = sdsnew("a");
sds b = sdsnew("b");
if (sdscmp(a, b) == 0) 
    return (DECLINED);

また、ライブラリ ファイル (sds.c、sds.h、sdsalloc.h) をモジュール ソース コード ファイルと同じディレクトリに配置し、次を呼び出します。

sudo apxs -i -a -c mod_mymodule.c

次に、Apache を再起動しますが、次の理由で起動に失敗します。

apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/mymodule.load: Cannot load /usr/lib/apache2/modules/mod_mymodule.so into server: /usr/lib/apache2/modules/mod_mymodule.so: undefined symbol: sdscmp

質問: apxs コマンドを変更して、新しいモジュールが含まれているライブラリで動作するようにするにはどうすればよいですか?

4

1 に答える 1