如何手动使用composer, artisan…(Laravel) php命令


How to use composer, artisan ...(Laravel) php commands manually

我有一个问题,我没有ssh访问服务器,所以我不能使用php工匠,作曲家和其他命令。
因为我可以猜测他们除了修改文件或只是复制php src文件到特定目录外什么也不做。
为了更好地理解这个过程,因为没有通过ssh访问服务器,我正在寻找教程,手册或文章,我如何手动执行这个命令。
例如,我需要执行

php artisan vendor:publish --provider="Tymon'JWTAuth'Providers'JWTAuthServiceProvider"

在这种情况下我应该怎么做呢?如果能找到一些文档来描述我应该手工做什么才能得到相同的结果,那就太好了。

Laravel为工匠命令提供了一个方便的Facade。

在你需要的地方使用Artisan::call('your-command')

例子:

Route::get('artisan-command/{command}', function($command) {
    Artisan::call($command);
});

你的URL看起来像这样:http://yourhost.com/artisan-command/db:seed

更具体的用例:

Route::get('vendor-publish/{provider}', function($provider) {
    Artisan::call('vendor:publish', ['provider' => $provider]);
});

和URL: http://yourhost.com/vendor-publish/Tymon'JWTAuth'Providers'JWTAuthServiceProvider

参考:Laravel文档中的Artisan Console

你可以在你的应用程序中执行命令行。你可以这样做:

Route::get('execute/my/command', function(){
    exec("php path/to/your/project/artisan your-command",$resultLines);
    Foreach($resultLines as $resultLine){
         echo $resultLine;
     }
});

第一个exec属性是您的命令,第二个是保存结果的变量。我希望这对你有帮助