dtu15253
2017-05-19 22:34
浏览 184
已采纳

从代码运行`php composer.phar dump-autoload` - Laravel 5.4

I'm trying to run these command from code, but having some trouble finding out how.

  • php composer.phar dump-autoload -o
  • php composer.phar require 'vendor/some-package'
  • php composer.phar update 'vendor/some-package'

EDIT

Forgot to mention, that I don't want to use the exec function because of potential risk and the fact that's blocked on most servers by default.

I did manage to download the .phar file from code, but not how to run these commands. I'm trying to build a friendly as possible solution and don't want use to dumpautoload manually after installing something etc.

Code to download

 $composerPath = base_path('composer.phar');
 copy('https://getcomposer.org/composer.phar', $composerPath);

图片转代码服务由CSDN问答提供 功能建议

我正在尝试从代码中运行这些命令,但在查找方法时遇到了一些麻烦。 \ n

  • php composer.phar dump-autoload -o
  • php composer.phar require'ports / some-package '
  • php composer.phar update'porpers / some-package'

    编辑

    忘记提及,我不想使用exec功能,因为潜在的风险以及默认情况下在大多数服务器上被阻止的事实。 / p>

    我确实设法从代码中下载.phar文件,但不是如何运行这些命令。 我正在尝试构建一个友好的解决方案,并且不希望在安装某些东西之后手动使用dumpautoload。

    要下载的代码

       $ composerPath = base_path('composer.phar'); 
     copy('https://getcomposer.org/composer.phar',$ composerPath); 
       
     <  / DIV>
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • dongzhu0327 2017-05-20 07:53
    已采纳

    I have found a working solution. You can call these command with Symphony's process component.

    $process = new \Symfony\Component\Process\Process('php composer.phar autoload-dump');
    $process->setWorkingDirectory(base_path());
    $process->run();
    

    Worked it out into a class: https://codeneverlied.com/using-composer-from-code/

    评论
    解决 无用
    打赏 举报
查看更多回答(2条)

相关推荐 更多相似问题