fusion-cms / auto-updater
PHP 自动更新器
1.0.3
2023-11-19 18:32 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 目录中的示例。