tourhunter-com / yii2-dev-updater
简化composer和迁移更新的Yii2组件
Requires
- php: >=5.4
- ext-json: *
- yiisoft/yii2: ~2.0.14
This package is auto-updated.
Last update: 2024-09-22 17:57:14 UTC
README
简化composer和迁移更新的Yii2组件。
它有助于跟踪git新提交后迁移和composer包中的更改,并允许在浏览器中一键触发更新。
该仓库是TourHunter组织的一部分。[链接](https://github.com/tourhunter-com)。本项目及所有参与人员均遵守[行为准则](https://github.com/tourhunter-com/yii2-dev-updater/blob/HEAD/CODE_OF_CONDUCT.md)。
贡献
请阅读我们的[贡献指南](https://github.com/tourhunter-com/yii2-dev-updater/blob/HEAD/CONTRIBUTING.md)。
安装
安装此扩展的首选方式是通过[composer](https://composer.php.ac.cn/download/)。
运行以下命令:
composer require tourhunter-com/yii2-dev-updater
或将以下内容添加到您的`composer.json`文件的`require`部分:
"tourhunter-com/yii2-dev-updater": "*"
使用方法
扩展安装后,将以下代码添加到您的应用程序`web.php`配置文件中
return [ 'bootstrap' => ['devUpdater'], //..... 'components' => [ //..... 'devUpdater' => [ 'class' => 'tourhunter\devUpdater\DevUpdaterComponent', ], ] ]
重要提示:尝试在控制台应用程序中使用该组件将不会产生任何效果。
以下属性可用于自定义更新组件的行为。
allow_env
定义组件将激活的环境列表。
'allow_env' => [ 'dev' ],
composerCommand
如果默认的Composer命令不同,可以设置启动Composer的控制台命令。
'composerCommand' => 'composer',
controllerId
此参数影响组件页面路由中的控制器名称。
'controllerId' => 'dev-updater',
updaterServices
定义一组活动组件更新服务,默认如下所示
'updaterServices' => [ 'tourhunter\devUpdater\services\MigrationUpdaterService', 'tourhunter\devUpdater\services\ComposerUpdaterService', ],
可以通过从列表中删除相关服务来禁用composer或迁移更新。还可以添加自定义更新逻辑的解决方案,但该服务必须扩展类`tourhunter\devUpdater\UpdaterService`。
lastUpdateInfoFilename
用于存储有关上次更新或错误状态的重要信息的文件路径。
'lastUpdateInfoFilename' => '@runtime/devUpdaterInfo.json',
updatingLockFilename
包含更新过程执行信息的锁定文件的路径。
'updatingLockFilename' => '@runtime/devUpdater.lock',
sudoUser
执行更新控制台命令的用户名。
'sudoUser' => false,
如果Web服务器在默认用户(如apache或www-data)下运行,则在执行某些命令时可能会出现问题。例如,Composer需要一个默认用户文件夹来缓存数据。为了避免这个问题,组件支持sudo命令的执行。但在使用之前,您必须相应地配置服务器。
首先,您需要知道您是否有`mpm_itk`模块开启 - 它将阻止sudo的使用。您需要将其添加到Apache配置中
<IfModule mpm_itk_module>
# Permit using "sudo"
LimitUIDRange 0 65534
LimitGIDRange 0 65534
</IfModule>
下一步是允许Web服务器用户在不同用户下执行所有必要的命令。`/etc/sudoers`中的设置
www-data ALL=(ALL) NOPASSWD: /bin/composer,/var/www/myYii2Project/yii
重要的是必须显示组件使用的文件的正确路径。默认情况下,它是Yii2框架的控制台实用工具。
同时,请确保在`/etc/sudoers`中取消以下代码的注释(如果存在)
#Defaults requiretty
许可证
本项目为开源软件,可在[MIT许可证](https://github.com/tourhunter-com/yii2-dev-updater/blob/HEAD/LICENSE.md)下免费获取。