visualappeal / php-auto-update
PHP 自动更新工具
1.0.2
2021-11-27 22:39 UTC
Requires
- php: >=7.2.0
- ext-curl: *
- ext-json: *
- ext-zip: *
- composer/semver: ^3.0
- desarrolla2/cache: ^3.0
- monolog/monolog: ^2.1
- psr/log: 1.1.4
Requires (Dev)
- phpunit/phpunit: ^9.5
- roave/security-advisories: dev-master
README
使用这个库,您的用户可以自动将您的应用程序实例更新到最新版本。我创建它作为一个概念证明,不知道是否有人在使用。因此,请谨慎使用此库,因为它可能会在出现问题的情况下使您的用户软件无法使用。
安装
- 使用 composer 安装此库 visualappeal/php-auto-update
- 在您的应用程序中创建一个更新文件/方法,包含您的更新程序(见
example/client/update/index.php
) - 在您的服务器上创建一个
update.json
或update.ini
(客户端应该从中获取更新,见example/server/update.json
或example/server/update.ini
)
重要:请注意,PHP 需要写入权限以在 web 服务器上更新文件
示例
您可以通过 docker-compose up
启动示例 Docker 容器,并通过访问 http://127.0.0.1:8080/example/client/
来查看示例
客户端
缓存
此库支持 desarrolla2/cache
组件,您应该使用它!否则,客户端将每次请求时都下载更新 ini/json 文件。
服务器
您的服务器需要至少一个文件,客户端将从中下载以检查更新。这可以是一个 json 或 ini 文件。请参阅 example/server/
以获取示例。ini 部分键或 json 键是版本号。此库使用语义版本控制来比较版本。有关详细信息,请参阅 semver.org。ini/json 值是更新 zip 文件的绝对 URL。由于库支持增量更新,zip 文件只需包含自上次版本以来的更改即可。zip 文件不需要放在同一服务器上,也可以上传到 S3 或其他云存储。
文档
有关文档,请参阅 src/AutoUpdate.php
中的注释或 example
目录中的示例。