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