# 基础版加密器配置文件 加密器项目配置文件为`ini`格式,可以设置多个`key-value`的配置项,除了加密器定义的配置项之外,用户也可以增加自定义的配置项。这些配置项会被存储到`license`文件中。在加密的程序中使用`swoole_get_license()`可以获取到这些信息。 ## 注意事项 1. 请按照配置格式和提示修改配置文件 2. 配置项等号左右不可以有空格 3. 注释使用 `#` 符号 ## PHP版本:php_version 设置加密使用的`PHP`版本,支持 `[54, 55, 56, 70, 71, 72, 73, 74, 80, 81]` ```ini php_version=74 ``` ## 代码路径:php_files_path 需要加密的`PHP` 文件/文件夹 路径 ```ini php_files_path=/data/www/wwwroot/source/ ``` ## 加密文件包导出路径:compiled_archived_path ```ini compiled_archived_path=/data/www/wwwroot/archive.tar.gz ``` ## 不加密的路径列表:exclude_list 不需要进行加密的PHP文件或者路径,设置加密文件黑名单的示例,格式为英文括号,路径需要使用双引号,多个路径使用空格(半角)分割。 > 默认为空 ```ini exclude_list=("/data/www/wwwroot/phpcode/exclude" "/data/www/wwwroot/phpcode/config.php" "/data/www/wwwroot/phpcode/config/env.php") ``` ## 是否保留注释:save_doc `0`代表不保留,`1`代表保留注释,有的框架会用注释做路由配置,需要设置为`1` ```ini save_doc=0 ``` > 在加密器`2.1.3`版本+`php7.1`以上 ,设置此参数为`1` 除了保留注释 还会保留文件的命名空间、`use`信息、以及声明的类 > 默认为`0` ## 设置源文件扩展名:postfixs 多个扩展名使用英文逗号分割 ```ini postfixs=inc,php ``` > 默认为`php` ## 项目名称:product_name 项目名称的格式要求为英文字母的组合 如果需要设置自定义信息或者限制代码的运行环境,例如`IP`地址,`mac`地址,`hostname`,代码有效时间等,则需要设置此参数。否则,此参数请留空 如果设置了项目名称 运行加密代码的时候就会依赖`license`文件 ```ini product_name=demo ``` ## license文件路径:license_file 生成的证书文件路径,例如`/tmp/my_license` > 默认为`./license` > 请注意此选项为文件路径,并非文件的目录 ```ini license_file=/tmp/my_license ``` ## 限制加密代码执行 hostname 多个域名用英文逗号隔开,支持通配符`*`,可使用通配符前缀或后缀,例如`*.swoole.com`代表允许所有`swoole.com`的二级域名 ```ini hostname=www.swoole.com ``` > 默认为空,表示不限制运行加密代码的域名 ## 限制加密代码运行的机器 IP 地址 多个 `IP` 用英文逗号隔开 ```ini ip_address=172.20.0.2 ``` > 默认为空,表示不限制运行加密代码的机器 `IP` 地址 ## 限制加密代码的有效时间 加密的文件的最后有效时间,超过此时间后,代码不可以再运行。格式为Unix时间戳 ```ini expire_at=1715197895 ``` > 默认为空,表示不限制运行加密代码的有效时间 ## 限制加密代码的 MAC 地址 限制加密的文件运行的机器 `MAC` 地址,不区分大小写。多个 `MAC` 用英文逗号隔开 ```ini mac_address=02:42:ac:14:00:02 ``` > 默认为空,表示不限制运行加密代码的有效时间 > `Windows`下`MAC`地址用`-`分割,例如: `08-00-27-fe-74-52` ## 自定义配置 可以从运行代码中通过`swoole_get_license()`获取配置信息 ```ini # 以下为示例可选配置 user_data="xxxxxxxxxxxxxxxxxxxxx" copyright="xxxxxxx" licensed_to="xxxxxx" ```