我有一个问题,我没有ssh访问服务器,所以我不能使用php工匠,作曲家和其他命令。
因为我可以猜测他们除了修改文件或只是复制php src文件到特定目录外什么也不做。
为了更好地理解这个过程,因为没有通过ssh访问服务器,我正在寻找教程,手册或文章,我如何手动执行这个命令。
例如,我需要执行
php artisan vendor:publish --provider="TymonJWTAuthProvidersJWTAuthServiceProvider"
在这种情况下我应该怎么做呢?如果能找到一些文档来描述我应该手工做什么才能得到相同的结果,那就太好了。
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/TymonJWTAuthProvidersJWTAuthServiceProvider
参考: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属性是您的命令,第二个是保存结果的变量。我希望这对你有帮助