Laravel 5: Why Class 'App\Console\Commands\SSH' not found?

时间:2016-04-07 10:46:14

标签: ssh laravel-5.2

I'm following instructions on https://laravelcollective.com/docs/5.1/ssh in order to use SSH to perform SFTP download from a private server.

I've done so far:

$> composer require laravelcollective/remote

added in config app :

'providers' => [
....
Collective\Remote\RemoteServiceProvider::class,
...
]
'aliases' => [
....
'SSH' => Collective\Remote\RemoteFacade::class,
...
]

published it:

$> php artisan vendor:publish --provider="Collective\Remote\RemoteServiceProvider"

Then I also run a composer update

But still in my console command if I test it like:

$contents = SSH::into('production')->getString('/hi.txt');
dd($contents);

I get the error in my question.

When a service provider is defined like above, the class is globally accessible? Or still I need to put the directive use Path/to/Class ? If so, since the Alias ahas a different name from the real classname, how should I specify the use path directive?

 use Collective\Remote\RemoteServiceProvider

or

 use Collective\Remote\RemoteServiceProvider

?

What am I missing?... I've tested other preconfigured services that comes with laravel 5.2 fresh install (i.e. Redis) and they seems to be found without any additional use directive in class.....

Thanks

1 个答案:

答案 0 :(得分:2)

只需将它用作全局类\ SSH即可。

$contents = \SSH::into('production')->getString('/hi.txt');
dd($contents);