<-
Apache > HTTP Server > �ĵ� > �汾2.2 > ģ��
���� ��л | �������� | ��ƪ���ߣ��𲽹� | ��ҳ�����£�2006��1��29�� | ��ȡ���°汾

Apacheģ�� mod_so

˵����������ʱ����DSOģ��
״̬��չ(E)
ģ����so_module
Դ�ļ�mod_so.c
��������Windows������һ������ģ��(ʼ�հ���)

����

��ģ����֧�ֶ�̬���ӻ��ƵIJ���ϵͳ�Ͽ���������Apache����������ʱ����DSOģ�飬���������±��롣

��Unix�ϣ������صĿ�ִ�д���ͨ�������ڹ�������ļ�(һ����.soΪ��չ��)����Windows����Ϊ.so��.dll��չ����

����

����Apache1.3��ģ�鲻��ֱ������Apache2.0 ��

top

ΪWindows�����ɼ���ģ��

ע��

��Apache1.3.15��ʼ��Windows�ϵ�ģ�����������˱仯������ʹ��mod_foo.so��ʽ�����֡�

Apacheģ���API����Unix��Windows��һ���ġ����ģ����������ƽ̨����ֲ��������Ҫʲô�޸ģ�������Щ������Unix�ض����Զ�Windowsû���ṩ��ģ�顣

���һ��ģ����ã���ô�����ַ���ʹ��������Unix�ϣ����Ա���̬���������������Ϊ����Windows��Apache��û����Ӧ��Unix�µ�Configure�������ó���ģ���Դ�ļ����뱻�ӽ�ApacheCore��Ŀ�ļ����������ķ���(symbols)���뱻��ӵ�os\win32\modules.c�ļ���

�ڶ��ַ����DZ���Ϊһ����̬���ӿ�(DLL)���Ա��������ڼ�ʹ��LoadModuleָ����ء���Щģ��DLL��Apache��װ�ڼ���Ѿ���װ���ˣ�����Ҫ���Լ�ȥ���롣

Ϊ�˽�ģ�����ΪDLL����Ҫ��ģ���Դ�ļ���һ��СС���޸ģ�ģ���¼(module record)�����DLL����(�Ժ󽫻ᴴ��������)��Ϊ�˴ﵽ���Ŀ�ģ��뽫AP_MODULE_DECLARE_DATA(��Apacheͷ�ļ��ж����)��ӵ����ģ���¼(module record)�����С����磬������ģ���У�

module foo_module;

�����������滻Ϊ��

module AP_MODULE_DECLARE_DATA foo_module;

ע�⣬�����Windows����Ч����˸�ģ����Բ����޸ĵ�ֱ����Unix��ʹ�á����⣬������.DEF�ļ�����Ϥ����Ҳ����ʹ��������ǰ��ķ���������ģ�顣

Ҫ����һ��������ģ���DLL�ļ����㻹���뽫�����ӵ��ڱ���libhttpd.dll�����ʱ������libhttpd.lib�����⡣�㻹������Ҫ�޸ı�����������ȷ��Apacheͷ�ļ�����ȷ�ļ����ˡ���Щ��λ�ڷ�������Ŀ¼�µ�"modules"Ŀ¼�С�����Ǵ���ץ��һ���Ѿ����ڵ�ģ��.dsp�ļ���������ȷ�����뻷���������󣬻��߰���.dsp�ļ�����������������ѡ��Ҳ�ɡ�

��������Ϊ���ģ�鴴��һ��DLL�汾��ֻҪ�������õ�modulesĿ¼�£���ʹ��LoadModuleָ����ؼ��ɡ�

top

LoadFile ָ��

˵��������������Ŀ���ļ����
�﷨LoadFile filename [filename] ...
������server config
״̬��չ(E)
ģ��mod_so

��ָ�������ڷ�����������������ʱ����������Ŀ���ļ���⣬�����ڼ�����Ҫ��ijЩģ��ʹ�õĶ�����롣Filename������һ������·�����������ServerRoot�����·����

���磺

LoadFile libexec/libxmlparse.so

top

LoadModule ָ��

˵������Ŀ���ļ���⣬��������ӵ��ģ���б�
�﷨LoadModule module filename
������server config
״̬��չ(E)
ģ��mod_so

��ָ�����Ŀ���ļ����filename����ģ��ṹ��module��ӵ��ģ���б�module����Դ�����ļ�������ƴдmodule���ⲿ������������Ϊģ���ʶ��(Module Identifier)����ģ���ĵ��С����磺

LoadModule status_module modules/mod_status.so

������λ��ServerRoot��ģ��Ŀ¼��ָ����ģ�顣