Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.146.65.212] |
|
Сообщ.
#1
,
|
|
|
Hi all.
Ya xochu napisatb Apache module kotoriy bi sozdoval filei vo vremya Apache Process Lifecycle. Kak mne eto zdelatb. Sposibo za vnimanie:) |
Сообщ.
#2
,
|
|
|
why this work.
static void *create_my_dir_config(pool *p, char *d) { fopen( "my_file", "a" ); ********** } module MODULE_VAR_EXPORT my_module = { STANDARD_MODULE_STUFF, NULL, /* initializer */ create_my_dir_config, /* dir config creator */ NULL, /* dir config merger */ NULL, /* server config creator */ NULL, /* server config merger */ NULL, /* command table */ NULL, /* handlers */ NULL, /* filename translation */ NULL, /* check_user_id */ NULL, /* check auth */ NULL, /* check access */ NULL, /* type_checker */ NULL, /* fixups */ NULL, /* logger */ NULL, /* header parser */ NULL, /* child_init */ NULL, /* child_exit */ NULL /* post read-request */ }; /////////////////////////////////// but this dont work. static int my_translation(request_rec *r) { fopen( "my_file", "a" ); ************ return OK; } module MODULE_VAR_EXPORT my_module = { STANDARD_MODULE_STUFF, NULL, /* initializer */ NULL, /* dir config creator */ NULL, /* dir config merger */ NULL, /* server config creator */ NULL, /* server config merger */ NULL, /* command table */ NULL, /* handlers */ my_translation, /* filename translation */ NULL, /* check_user_id */ NULL, /* check auth */ NULL, /* check access */ NULL, /* type_checker */ NULL, /* fixups */ NULL, /* logger */ NULL, /* header parser */ NULL, /* child_init */ NULL, /* child_exit */ NULL /* post read-request */ }; /////////////////////////// in a first example file was created, but in second example wasn't created? |
Сообщ.
#3
,
|
|
|
Вот тут описана последовательность вызовов обработчиков в Apache. Попробуй использовать post_read_request.
|
Сообщ.
#4
,
|
|
|
probovol, no ne poluchaetsya
do vxojdeniya v Lifecycle net problem vse rabotaet, a v Lifecycle ne odin obrobotchik ne mojet sozdatb file. Uj neznayu cho delatb |
Сообщ.
#5
,
|
|
|
Посмотри как это сделано в mod_rewrite.c Там при обработке запросов ведется запись в собственный лог.
|
Сообщ.
#6
,
|
|
|
Цитата NitroDev @ Посмотри как это сделано в mod_rewrite.c Там при обработке запросов ведется запись в собственный лог. Posmotrel, no tam ne to chto nujno. No samoe glavnoe ya ne poluchil otveta pochemu moy kod ne rabotaet, chto proizxodit vo vremya lifecycle-a chto ne daet mne prosto sozdatb file pri pomoshi metoda fopen(). Esli estb sootvetsvuyushaya documentaciya pojalosto dayte, a to chto u menya estb ne daet otveta, skaju bolbshe, po moim svedenyam etogo prosto ne doljno bitb |
Сообщ.
#7
,
|
|
|
Сам обработчик my_translation вызывается?
|
Сообщ.
#8
,
|
|
|
Цитата NitroDev @ Сам обработчик my_translation вызывается? da, vizivaetsya. I probovol iz lyubovo obrobotchika iz lifecycle-a, ne poluchaetsya. |
Сообщ.
#9
,
|
|
|
Скинь мне исходники модуля. Мыло в ПМ.
|
Сообщ.
#10
,
|
|
|
Uchitivaya to chto do six por ni odnogo obesneniya etumu netu, resknu predpolojitb chto eto mojet bitb iz za configuraciy?
|
Сообщ.
#11
,
|
|
|
nakonec to , okozalosb primitivnaya problema.
prosto u directorii nebilo pravo na write. vsego lish chmod 777 my_dir i mojno sozdovatb file-i v my_dir no tut voznikaet drugaya neponyatka , pochemu to chto ya ne imeyu pravo sozdovatb file-i v my_dir ne meshaet mne v create_my_dir_config ix sozdovatb, i tolbko v lifecycle eto ogronichenie rabotaet? |
Сообщ.
#12
,
|
|
|
мой последний вопрос
как уже стало ясно , в lifecycle мдуль имеет приоритет user-а, тоесть он не сможет например изменить write permission bit for the owner of the file. Тк как можно дать user-у болше полномочий на сервере? спaсибо за внимание. |