<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # License 授權文件配置 加密器可以通過授權文件來管理加密代碼的可運行環境。例如限制加密代碼執行的 `IP`、`HOST`、`MAC`,以及過期時間。`License` 與加密代碼分開使用。`PHP` 只需要加密一次,然后通過生成不同的授權文件給客戶。 > 以下簡稱 **授權文件** ## 生成授權文件 若要使用授權文件功能,在加密代碼時必須要指定 `product_name` ,授權文件的 `product_name` 必須與加密代碼完全一致。有 `3` 種方法可以生成授權文件: 1. 官網 - 編譯源代碼:在加密代碼時直接設置產品名稱,然后設置 `IP`、`HOST`、`MAC`、過期時間和其他自定義信息,加密后下載到的壓縮包中會同時包含加密代碼和授權文件 2. 官網 - 生成 `License`:設置 `IP`、`HOST`、`MAC`、過期時間和其他自定義信息,獲取 授權文件 3. 離線版加密器:使用 `swoole-compiler -t license config.ini` 生成授權文件 ## 加載授權文件 配置 `php.ini` 設置 `swoole_loader.license_files` 加載授權文件。 ```ini [swoole_loader] swoole_loader.license_files=/yourpath/licenseA,/yourpath/licenseB ``` > 使用 `php --ini` 或者在 `phpinfo()` 頁面中查找 `php.ini` 所在的路徑 > 請注意 `cli` 和 `php-fpm`、`apache` 可能使用的是不同的 `php.ini`,需要在對應的環境中去查看 `php.ini` 文件的真正路徑 * 支持同時加載多個授權文件,通過英文逗號分割 * 多個授權文件的 `product_name` 不能重復 * `3.0` 或更高版本,使用 `swoole_loader.license_files=/yourpath/licenseA,/yourpath/licenseB` * `3.0` 之前版本,使用 `swoole_license_files=/yourpath/licenseA,/yourpath/licenseB` > 例如你的整個代碼里面有 `2` 個產品 `A` 和 `B`,加密時 `product_name` 分別為 `A` 和 `B`,分別生成 `2` 個授權文件 `/yourpath/licenseA` 和 `/yourpath/licenseB`,然后配置 `php.ini` 為 `swoole_loader.license_files=/yourpath/licenseA,/yourpath/licenseB` ,`swoole_loader` 會根據產品名稱找到對應的授權文件 ## 獲取授權信息 使用 `swoole_get_license()` 函數可以返回所加載的授權文件,格式為: ```php array(2) { ["product_A"]=> array(5) { ["product_name"]=> string(4) "product_A" ["hostname"]=> string(9) "127.0.0.1" ["expire_at"]=> string(10) "1669976791" ["license_source"]=> string(40) "de8a1591cb2179ff6fc2e0f6a1a95a98bba9d84c" ["user"]=> string(15) "自定義內容" } ["product_B"]=> array(5) { ["product_name"]=> string(4) "product_B" ["hostname"]=> string(9) "127.0.0.1" ["expire_at"]=> string(10) "1669976791" ["license_source"]=> string(40) "de8a1591cb2179ff6fc2e0f6a1a95a98bba9d84c" ["user"]=> string(15) "自定義內容" } } ``` 動態加載授權文件 ---- >[danger] 若無法修改 `php.ini` 來加載授權,可在程序入口文件如 `index.php` 使用 `ini_set` 實現動態加載。請注意因 `PHP-FPM` 短生命周期的特性,在非常駐內存模式下,動態加載可能會帶來一些額外的性能開銷 ```php ini_set("swoole_loader.license_files","/yourpath/licenseA"); ```
                  <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>

                              哎呀哎呀视频在线观看