Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > модуль DB для apache22


Автор: gcc 6.9.2008, 17:46
хотел спросить, вот почему для apache22 нету нормального модуля который будет брать конфиги с бд полностью так же как и с файлов?

в самом apache22 есть функция, наверное, которая читает файлы конфигурации, разметка там как тэг... да?


но почему проблема использовать libdbi? (SQLite, который без сервера, тоесть MySQL может упасть, и тогда работать не будет ничего) чтобы брать конфигы виртуальных хостов с таблиц?

или там сложное взаимодействие с другими функциями?
это не реально написать чтоли?


Код


#ifdef HAVE_MOD_PHP_SUPPORT                                                                                                                 
    zend_alter_ini_entry("safe_mode", 13, "on", strlen("on"), 4, 16);                                                                       
    zend_alter_ini_entry("open_basedir", 13, path, strlen(path), 4, 16);                                                                    
#endif                                                                                                                                      
                                                                                                                                            
    return OK;                                                                                                                              
}                                                                                                                                           
                                                                                                                                            
#ifdef HAVE_UNIX_SUEXEC                                                                                                                     
static ap_unix_identity_t *get_suexec_id_doer(const request_rec * r)                                                                        
{                                                                                                                                           
    ap_unix_identity_t *ugid = NULL;                                                                                                        
                                                                                                                                            
    const char *username = apr_table_get(r->notes, "mod_vhost_dbi_user");                                                                   
                                                                                                                                            
    if (username == NULL) {                                                                                                                 
        return NULL;                                                                                                                        
    }                                                                                                                                       
                                                                                                                                            
    if ((ugid = apr_palloc(r->pool, sizeof(ap_unix_identity_t *))) == NULL) {                                                               
        return NULL;                                                                                                                        
    }                                                                                                                                       
                                                                                                                                            
    if (apr_uid_get(&ugid->uid, &ugid->gid, username, r->pool) != APR_SUCCESS) {                                                            
        return NULL;                                                                                                                        
    }                                                                                                                                       
                                                                                                                                            
    ugid->userdir = 0;                                                                                                                      
                                                                                                                                            
    return ugid;                                                                                                                            
}                                                                                                                                           
#endif      




надо переписывать много, короче ест ьсмысл писать модуль этот?

Автор: gcc 7.9.2008, 18:11
это можно написать?
не кто не подскажет есть смысл это писать? там по-моиму надо много переписывать очень...

может демона на perl написать на 30 строк, чтобы он из базы вставлял в один текстовый файл...? (ну и удалял, или изменял) или это не нужно вообще?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)