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

时间:2015-10-03 00:12:14

标签: php laravel ssh composer-php artisan

我有一个问题我没有ssh访问服务器,所以我不能使用php artisan,composer和其他命令。
我可以问他们除了修改文件或只是将php src文件复制到特定目录之外什么都不做 为了更好地理解该过程,并且由于无法通过ssh访问服务器,我正在寻找tutroial,manual或文章如何手动执行此命令。
例如,我需要执行

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

在这种情况下我该怎么办,我们会发现一些文档描述了我应该手动做什么来获得相同的结果。

2 个答案:

答案 0 :(得分:1)

Laravel为工匠命令提供了方便的外观。

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

示例:

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

您的网址如下所示:http://yourhost.com/artisan-command/db:seed

更具体针对您的用例:

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

网址:http://yourhost.com/vendor-publish/Tymon\JWTAuth\Providers\JWTAuthServiceProvider

参考:Artisan Console in the Laravel Docs

答案 1 :(得分:0)

您可以从应用程序执行命令行。你可以这样做:

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

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