<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Apache模塊 mod_so | [說明](#calibre_link-11) | 允許運行時加載DSO模塊 | | --- | --- | | [狀態](#calibre_link-12) | 擴展(E) | | [模塊名](#calibre_link-13) | so_module | | [源文件](#calibre_link-14) | mod_so.c | | [兼容性](#calibre_link-58) | 在Windows上這是一個基本模塊(始終包含) | ### 概述 該模塊在支持動態鏈接機制的操作系統上可以用來在Apache啟動和重啟時加載[DSO](#calibre_link-259)模塊,而不用重新編譯。 在Unix上,被加載的可執行代碼通常來自于共享對象文件(一般以`.so`為擴展名),在Windows上則為`.so`或`.dll`擴展名。 ### 警告 用于Apache1.3的模塊不能直接用于Apache2.0 。 ## 為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`文件。 第二種方法是編譯為一個動態鏈接庫(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`指令加載即可。 ## LoadFile 指令 | [說明](#calibre_link-18) | 加載已命名的目標文件或庫 | | --- | --- | | [語法](#calibre_link-19) | `LoadFile _filename_ [_filename_] ...` | | [作用域](#calibre_link-20) | server config | | [狀態](#calibre_link-21) | 擴展(E) | | [模塊](#calibre_link-22) | mod_so | 該指令用于在服務器啟動或者重啟時加載已命名目標文件或庫,以用于加載需要被某些模塊使用的額外代碼。_Filename_可以是一個絕對路徑或者相對于`ServerRoot`的相對路徑。 例如: ``` LoadFile libexec/libxmlparse.so ``` ## LoadModule 指令 | [說明](#calibre_link-18) | 加載目標文件或庫,并將其添加到活動模塊列表 | | --- | --- | | [語法](#calibre_link-19) | `LoadModule _module filename_` | | [作用域](#calibre_link-20) | server config | | [狀態](#calibre_link-21) | 擴展(E) | | [模塊](#calibre_link-22) | mod_so | 該指令加載目標文件或庫_filename_并將模塊結構名_module_添加到活動模塊列表。_module_就是源代碼文件中用于拼寫`module`的外部變量名,并作為[模塊標識符(Module Identifier)](#calibre_link-13)列在模塊文檔中。例如: ``` LoadModule status_module modules/mod_status.so ``` 加載了位于`ServerRoot`下模塊目錄中指定的模塊。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看