1
static int x_post_config(apr_pool_t *pconf, apr_pool_t *plog,
                          apr_pool_t *ptemp, server_rec *s)
{
        system("/home/user/workspace/CheckVideo/Debug/CheckVideo.exe"); 
        return OK;
}


static void register_hooks(apr_pool_t* pool)
{
    ap_hook_post_config(x_post_config, NULL, NULL, APR_HOOK_MIDDLE);
}

module AP_MODULE_DECLARE_DATA MyModule_module = {
    STANDARD20_MODULE_STUFF,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    register_hooks
};

このモジュールを C で開発し、Apache 拡張ツール (apxs) を使用して Apache サーバーに統合しました。post_configフックから呼び出すときに、バックグラウンドでシステム コールを使用して実行可能ファイルを実行できます。

.mp4 ビデオのような特定の MIME タイプが Apache で呼び出された場合にのみ、システム コールを使用して実行可能ファイルを実行するように同じコードを変更したいと考えています。代わりにpost_config、この実行可能ファイルを Apache の応答フェーズで実行したいと考えています。system()たとえば、同じ機能を実行しようとしています:

static int My_handler(request_rec* r)
{
   if (strcmp(r->content_type, "video/mp4"))
   {
       system("/home/user/workspace/CheckVideo/Debug/CheckVideo.exe");  
   }
   return DECLINED;
}



static void register_hooks(apr_pool_t* pool)
{
    ap_hook_handler(My_handler, NULL, NULL, APR_HOOK_MIDDLE);
}

module AP_MODULE_DECLARE_DATA My_handler = {
    STANDARD20_MODULE_STUFF,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    register_hooks
};

この実行可能ファイルをビデオのバックグラウンドで継続的に実行したいのですが、特定のビデオ タイプに対してのみ呼び出す必要があります。Apacheモジュールからシステムコールを使用して実行可能ファイルを呼び出すにはどうすればよいですap_hook_handlerか?

4

0 に答える 0