thephpleague / flysystem

Abstraction for local and remote filesystems
https://flysystem.thephpleague.com
MIT License
13.37k stars 827 forks source link

Class "League\Flysystem\PhpseclibV3\SftpConnectionProvider" not found #1786

Closed lucadalpozreward closed 6 months ago

lucadalpozreward commented 6 months ago

Bug Report

Q A
Flysystem Version 3.27.0
Adapter Name league/flysystem-local
Adapter version 3.25.1

Summary

Hello everyone,

A few days ago, I noticed an error in the usage of the "Storage" class in Laravel 9.x that uses your package "flysystem-sftp". Upon searching in the project's vendor folders, I noticed that some files and folders are missing. Even after rerunning the "composer update" command and downloading last version (3.27.0), some files and some folders are still absent.

The stack trace I'm receiving is: `[2024-04-24 13:31:36] local.ERROR: Class "League\Flysystem\PhpseclibV3\SftpConnectionProvider" not found {"exception":"[object] (Error(code: 0): Class \"League\Flysystem\PhpseclibV3\SftpConnectionProvider\" not found at C:\Users\user_folder\projectfolder\myproject\vendor\laravel\framework\src\Illuminate\Filesystem\FilesystemManager.php:215) [stacktrace]

0 C:\Users\user_folder\projectfolder\myproject\vendor\laravel\framework\src\Illuminate\Filesystem\FilesystemManager.php(152): Illuminate\Filesystem\FilesystemManager->createSftpDriver(Array)

1 C:\Users\user_folder\projectfolder\myproject\vendor\laravel\framework\src\Illuminate\Filesystem\FilesystemManager.php(120): Illuminate\Filesystem\FilesystemManager->resolve('sftp')

2 C:\Users\user_folder\projectfolder\myproject\vendor\laravel\framework\src\Illuminate\Filesystem\FilesystemManager.php(83): Illuminate\Filesystem\FilesystemManager->get('sftp')

3 C:\Users\user_folder\projectfolder\myproject\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php(338): Illuminate\Filesystem\FilesystemManager->disk('sftp')

4 C:\Users\user_folder\projectfolder\myproject\app\Console\Commands\ImportFileAnagrafiche.php(37): Illuminate\Support\Facades\Facade::__callStatic('disk', Array)

5 C:\Users\user_folder\projectfolder\myproject\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php(36): App\Console\Commands\ImportFileAnagrafiche->handle()

6 C:\Users\user_folder\projectfolder\myproject\vendor\laravel\framework\src\Illuminate\Container\Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()

7 C:\Users\user_folder\projectfolder\myproject\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure(Object(Closure))

8 C:\Users\user_folder\projectfolder\myproject\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php(37): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure))

9 C:\Users\user_folder\projectfolder\myproject\vendor\laravel\framework\src\Illuminate\Container\Container.php(661): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL)

10 C:\Users\user_folder\projectfolder\myproject\vendor\laravel\framework\src\Illuminate\Console\Command.php(183): Illuminate\Container\Container->call(Array)

11 C:\Users\user_folder\projectfolder\myproject\vendor\symfony\console\Command\Command.php(326): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))

12 C:\Users\user_folder\projectfolder\myproject\vendor\laravel\framework\src\Illuminate\Console\Command.php(153): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))

13 C:\Users\user_folder\projectfolder\myproject\vendor\symfony\console\Application.php(1078): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

14 C:\Users\user_folder\projectfolder\myproject\vendor\symfony\console\Application.php(324): Symfony\Component\Console\Application->doRunCommand(Object(App\Console\Commands\ImportFileAnagrafiche), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

15 C:\Users\user_folder\projectfolder\myproject\vendor\symfony\console\Application.php(175): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

16 C:\Users\user_folder\projectfolder\myproject\vendor\laravel\framework\src\Illuminate\Console\Application.php(102): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

17 C:\Users\user_folder\projectfolder\myproject\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php(155): Illuminate\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

18 C:\Users\user_folder\projectfolder\myproject\artisan(37): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

19 {main}

"} `

image

How to reproduce

Just run "composer require league/flysystem" and look at the missing folders and files in vendor

lucadalpozreward commented 6 months ago

PHP version I'm using is: 8.1

frankdejonge commented 6 months ago

Hi, you should require league/flysystem-sftp-v3