4

在基于的LAMP 应用程序Symfony2中,我需要在管理面板中提供特定的Web 服务来更新由管理的“按需”特定依赖项Composer(~like plugins update in WordPressadmin panel)。

应用程序由真实用户部署在服务器上(应用程序文件所有者不是www-data)。

我认为这些解决方案:

  1. Apache 用户直接运行 Composer shell 命令(shell_exec、Symfony/Process):
    • composer.lock必须对 Apache 用户是可写的
    • $COMPOSER_HOME必须为 Apache 用户定义和可写路径
    • 所有相关的供应商依赖文件必须对 Apache 用户是可写的
    • Apache 用户应该能够使用带有 SSH 协议的 GIT 客户端
    • ...也许我不认为其他观点
  2. Apache 用户以真实用户身份运行 Composer shell 命令,使用 sudo
  3. 使用第三方工具、cronjob 或事件驱动 I/O ( ReactPHP?)

我不确定这些解决方案是否良好、安全易于部署

对你来说最好的方法是什么?欢迎任何建议/想法!谢谢。

4

0 回答 0