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

从代码运行`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);
  • 写回答

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条)

报告相同问题?