Symfony Flex 背后严格的公司防火墙/代理

Symfony Flex behind strict corporate firewall / proxy

我现在工作的公司有非常严格的安全政策,不允许 Composer 访问公司内部网之外的任何主机。每个开发人员都有自己的 VPS 用于在预安装了 php、composer 和其他开发工具的内部云中进行开发,但是无法从 VPS 连接到互联网。工作站只有有限的互联网访问权限,仅用于电子邮件和浏览互联网。我们设法使 Symfony 和作曲家与 Satis 一起在内部服务器上可用。由于严格的包白名单标准,有时管理 Satis 静态依赖关系很烦人,但它通常有效......好吧,直到 Symfony Flex 出现并且 http://symfony.sh 这对我们的内部工作站和开发环境不可用。

那么有没有办法 运行 本地弹性服务器或以某种方式重用本地 Satis 存储库来提供弹性配方?

是你达不到symfony.sh,你使用symfony flex的运气不佳。没有等同于 satis 的 flex。

仅当您的存储库位于 github.com 上时,私有存储库才可用。

但是flex完全不是强制的,你还是可以安装bundle,看看他们的配置。

在撰写此答案时,Symfony 尚未正式开源 symfony.sh 源代码,因此通过 Flex 作曲家插件访问 Flex 配方的唯一方法是启用通往 symfony.sh 的防火墙路由.

但是,如果这不符合您的安全政策,另一种选择是使用并参与逆向工程的 Flex 服务器 https://github.com/aurimasniekis/flex-server,该服务器可以托管在对 [=23= 的访问权限有限的单独服务器上].然后应该通过这样做来配置 composer.json 以使用该特定的 flex 服务器:

composer config extra.symfony.endpoint FLEX_SERVER_URL

作为作曲家插件的 Flex 是开源的,因此可以相对容易地模拟或重新创建其背后的协议。

第三种选择是完全不使用 Flex,并继续安装捆绑包,其中包含大量配置、安装和启用依赖项的样板步骤,就像我们在 Symfony4 之前所做的那样。