Php 允许Apache在web应用程序中运行composer更新依赖项

Php 允许Apache在web应用程序中运行composer更新依赖项,php,apache,symfony,composer-php,Php,Apache,Symfony,Composer Php,在基于Symfony2的LAMP应用程序中,我需要在管理面板中提供一个特定的web服务,以更新由Composer管理的“按需”特定依赖项(~类似于WordPress管理面板中的插件更新) 应用程序由真实用户部署在服务器上(应用程序文件所有者不是www-data) 我认为这些解决方案: Apache用户直接运行编写器shell命令(shell\u exec,Symfony/Process): composer.lock对于Apache用户必须是可写的 $COMPOSER\u HOME路径必须为A

在基于
Symfony2
LAMP应用程序中,我需要在管理面板中提供一个特定的web服务,以更新由
Composer
管理的“按需”特定依赖项(~类似于
WordPress
管理面板中的插件更新)

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

我认为这些解决方案:

  • Apache用户直接运行编写器shell命令(shell\u exec,Symfony/Process):
    • composer.lock
      对于Apache用户必须是可写的
    • $COMPOSER\u HOME
      路径必须为Apache用户定义并可写
    • 所有相关的供应商依赖关系文件必须可供Apache用户写入
    • Apache用户应该能够使用带有SSH协议的GIT客户端
    • 。。。也许还有其他几点我不认为
  • Apache用户使用sudo以真实用户身份运行Composer shell命令
    • sudo
      必须配置为允许apache用户作为指定的真实用户()
  • 使用第三方工具、cronjob或事件驱动I/O(
    ReactPHP
    ?)
  • 我不确定这些解决方案是否好,安全易于部署

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

    可能的副本