Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 什么';这是使用push-to-deploy初始化yii2框架的正确方法_Php_Git_Yii_Yii2 - Fatal编程技术网

Php 什么';这是使用push-to-deploy初始化yii2框架的正确方法

Php 什么';这是使用push-to-deploy初始化yii2框架的正确方法,php,git,yii,yii2,Php,Git,Yii,Yii2,我已经为git存储库创建了post receivehook,它将签出提交到web文件夹/var/www/myproject。因为我没有提交依赖项(框架文件),所以签出时我必须安装依赖项并初始化框架。我认为有两种方法: 1) 签出后,从项目目录运行以下命令: composer install php init --env=Development --overwrite=n #other commands to setup db connection, credentials etc. 2) 将依

我已经为git存储库创建了
post receive
hook,它将签出提交到web文件夹
/var/www/myproject
。因为我没有提交依赖项(框架文件),所以签出时我必须安装依赖项并初始化框架。我认为有两种方法:

1) 签出后,从项目目录运行以下命令:

composer install
php init --env=Development --overwrite=n
#other commands to setup db connection, credentials etc.
2) 将依赖项安装到签出项目的上一级
/var/www
,并将链接安装到上一级。但使用这种方法,我似乎仍然需要运行
phpinit


这种部署的常见方法是什么?

高级应用程序的一个重要功能是拥有独立的后端和前端应用程序。因此,如果您将回购签出到
/var/www/myproject
,将创建两个重要目录:
/var/www/myproject/frontend/web
/var/www/myproject/backend/web
。您通常将web服务器配置为将这两个目录作为两个不同域的web根目录(如
example.com
admin.example.com

Yii2高级应用程序引入了“环境”的概念。环境基本上是一组配置文件,其中包括db凭据。因此,如果您不介意在repo中使用凭据,则推送部署是可能的

因此,如果您计划使用多个配置拥有多个服务器,您只需为每个服务器创建一个环境并使用它进行部署

因此,以下是您在查看回购协议后需要采取的步骤

  • 安装编写器依赖项:
    composer安装
  • 很简单。请记住,
    fxp/composer资产插件
    需要全局安装,以便composer获取bower和npm依赖项

  • 检查当前设置的特定环境:
    init--env=您的\u服务器\u环境--overwrite=All
  • 你应该覆盖一切。如果已更新环境中的某些参数,则该参数将应用于当前设置

  • 迁移数据库:
    yii Migrate--interactive=0

  • 这就是它的全部功能。

    高级应用程序的一个重要功能是拥有独立的后端和前端应用程序。因此,如果您将回购签出到
    /var/www/myproject
    ,将创建两个重要目录:
    /var/www/myproject/frontend/web
    /var/www/myproject/backend/web
    。您通常将web服务器配置为将这两个目录作为两个不同域的web根目录(如
    example.com
    admin.example.com

    Yii2高级应用程序引入了“环境”的概念。环境基本上是一组配置文件,其中包括db凭据。因此,如果您不介意在repo中使用凭据,则推送部署是可能的

    因此,如果您计划使用多个配置拥有多个服务器,您只需为每个服务器创建一个环境并使用它进行部署

    因此,以下是您在查看回购协议后需要采取的步骤

  • 安装编写器依赖项:
    composer安装
  • 很简单。请记住,
    fxp/composer资产插件
    需要全局安装,以便composer获取bower和npm依赖项

  • 检查当前设置的特定环境:
    init--env=您的\u服务器\u环境--overwrite=All
  • 你应该覆盖一切。如果已更新环境中的某些参数,则该参数将应用于当前设置

  • 迁移数据库:
    yii Migrate--interactive=0

  • 仅此而已。

    您是否正在使用
    advanced
    应用程序模板?如果您是,那么您将项目签出到
    /var/www/
    ,这是令人惊讶的。如果您没有(如果您使用的是
    basic
    app),则不需要
    init
    。谢谢,我不确定使用的是哪个模板,但我正在执行
    init
    。为什么签出到
    /var/www
    ?只有高级应用程序具有
    init
    脚本,用于从
    环境中定义的特定集合设置配置文件。事实上,你是对的,只要你有
    /var/www/myproject/frontend/web
    /var/www/myproject/backend/web
    设置为web根目录就可以了。是的,那么你如何推送部署和万斯应用程序呢?你使用的是
    高级应用程序模板吗?如果您是,那么您将项目签出到
    /var/www/
    ,这是令人惊讶的。如果您没有(如果您使用的是
    basic
    app),则不需要
    init
    。谢谢,我不确定使用的是哪个模板,但我正在执行
    init
    。为什么签出到
    /var/www
    ?只有高级应用程序具有
    init
    脚本,用于从
    环境中定义的特定集合设置配置文件。事实上,你是对的,只要你有
    /var/www/myproject/frontend/web
    /var/www/myproject/backend/web
    设置为web root就可以了。是的,那么你如何推送部署和万斯应用程序呢?