Skip to content

Commit

Permalink
bug #34396 [Finder] Allow ssh2 stream wrapper for sftp (damienalexandre)
Browse files Browse the repository at this point in the history
This PR was merged into the 3.4 branch.

Discussion
----------

[Finder] Allow ssh2 stream wrapper for sftp

Same fix as #28604 but for the ssh2.sftp wrapper.

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #28604 maybe
| License       | MIT
| Doc PR        |

Without this patch, we can't use the finder with ssh2.sftp connections.

```php
$connection = \ssh2_connect('host', 22);
\ssh2_auth_password($connection, 'user', 'pass');

$sftp = \ssh2_sftp($connection);
$path = "ssh2.sftp://".intval($sftp)."/";

$finder = new Finder();

foreach ($finder->in($path)->files() as $directory) {
    dump(file_get_contents($directory));
}
```

Without the patch:

>   RecursiveDirectoryIterator::__construct(ssh2.sftp://838): failed to open dir: operation failed

Commits
-------

e6c9d77 [Finder] Allow ssh2 stream wrapper for sftp
  • Loading branch information
fabpot committed Nov 15, 2019
2 parents 297219b + e6c9d77 commit 1382149
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/Symfony/Component/Finder/Finder.php
Expand Up @@ -746,7 +746,7 @@ private function normalizeDir($dir)
{
$dir = rtrim($dir, '/'.\DIRECTORY_SEPARATOR);

if (preg_match('#^s?ftp://#', $dir)) {
if (preg_match('#^(ssh2\.)?s?ftp://#', $dir)) {
$dir .= '/';
}

Expand Down

0 comments on commit 1382149

Please sign in to comment.