使用composer进行Symfony离线安装

时间:2017-05-19 09:26:38

标签: php symfony server composer-php symfony-3.1

我正在尝试在服务器上安装Symfony,没有连接到互联网。我在服务器上复制了composer,但是当我尝试安装它时,我得到了这个错误

连接错误[ERR_CONNECTION]:无法连接到getcomposer.org

是否有任何可能的方法来安装没有有效连接到互联网的symfony;比如下载框架,把它放在服务器上,然后离线运行作曲家?或者它有太多的依赖关系,包括哪些?

我已经用Google搜索,但找不到令人满意的解决方案。

4 个答案:

答案 0 :(得分:4)

待办事项

with t as (
      select t.*, row_number() over (order by t.tag) as seqnum
      from tags t
     ),
      cte as (
      select replace(@description, t.tag, t.replacement) as d, t.seqnum
      from t
      where seqnum = 1
      union all
      select replace(d, t.tag, t.replacement), t.seqnum
      from cte join
           t
           on t.seqnum = cte.seqnum + 1
     )
select top 1 cte.*
from cte
order by seqnum desc;

安装。然后做所有的准备工作,比如prod / dev构建资产中的clear cache并转储它们

composer install -o

然后将项目推送/ ftp到服务器。我高度推荐你要运行

   php app/console cache:clear && php app/console cache:clear -e prod --no-debug
   php app/console assetic:dump -e prod --no-debug
   php app/console assets:install web --symlink --relative

更新服务器上的autolaod文件

更新

您可以(应该)运行symfony的安装后脚本(在转储自动加载后)以编辑/更新服务器上的composer dumpautoload -o ,因为db-access,mailer_transport可能与您的不同DEV-机

parameters.yml

然后运行

composer run-script post-install-cmd
php app/console cache:clear -e prod --no-debug

如果您将获得所有可用命令的列表=>您的symfony应用已成功安装并运行

答案 1 :(得分:1)

您可以在连接到Internet的计算机上运行composer,并使用文件复制所有目录。

工作桅杆的作曲家连接到互联网,检查新版本的包。

答案 2 :(得分:1)

简短的回答是,有几种方法可以做到这一点

正如其他人所建议的那样,最好的选择是在 连接到互联网的系统上构建项目(安装Symfony,安装Composer,更新依赖项),然后只需在服务器上复制项目

警告

构建项目的系统应尽可能与实际服务器(我的意思是PHP版本,MySQL版本等)相似,否则项目可能会中断。

您可能希望构建一个虚拟机以使其非常相似,这对于开发也是有益的。在这种情况下,您可以查看AnsibleVagrant等工具。

答案 3 :(得分:1)

我在symfony3中遇到同样的问题。

<强>解决方案:

  1. 创建项目档案 - 为了安全起见。
  2. 将项目表单server复制到可以访问Internet的计算机(所有文件和目录):laptop
  3. 在笔记本电脑上运行composer update
  4. 在服务器上:

    rm -rf app / *
    rm -rf bin / *
    rm -rf var / cache / *
    rm -rf var / logs / *
    rm -rf var / sessions / *
    rm -rf vendor / *
    rm composer.json
    rm composer.lock

  5. 从笔记本电脑复制到服务器文件到目录:app/bin/vendor/composer.jsoncomposer.lock

  6. 它对我的工作: - )