Deployer: uploading via PhpSecLib with PEM file doesn't work

Created on 19 Oct 2015  路  6Comments  路  Source: deployphp/deployer

Deployer version: 3.0.10
PHP version: 5.6.9
Deployment target(s) OS - Ubuntu 12.04

The upload function gives some pretty cryptic errors and fails when authenticating with PEM and using PhpSecLib for uploading. I get:

  [RuntimeException]
  NET_SFTP_STATUS_FAILURE: Failure
  NET_SFTP_STATUS_FAILURE: Failure
  NET_SFTP_STATUS_FAILURE: Failure

While the command line scp works just fine:

scp -i aws.pem file.php [email protected]:/var/www/location
bug

Most helpful comment

I'm getting the same error when I pass only directory path and not full file path for the second parameter.

For example this throws the mentioned error:

upload('test.txt', '/some/upload/dir');

but this doesn't

upload('test.txt', '/some/upload/dir/test.txt');

All 6 comments

Bug in PhpSecLib?

It appears that way. It seems to be messing packets up in the SFTP class

Is somebody have a work around ? that will realy help me.
Thx

The isssue still exists. I get this while using upload:

NET_SFTP_STATUS_FAILURE: Failure
...
NET_SFTP_STATUS_FAILURE: Failure
NET_SFTP_STATUS_FAILURE: Failure

Exception trace:
 () at phar://D:/bin/deployer/deployer.phar/src/Server/Remote/PhpSecLib.php:136
 Deployer\Server\Remote\PhpSecLib->upload() at phar://D:/bin/deployer/deployer.phar/src/functions.php:373
 upload() at D:\xampp\htdocs\domizeli.ru\deploy.php:37
 {closure}() at n/a:n/a
 call_user_func() at phar://D:/bin/deployer/deployer.phar/src/Task/Task.php:79
 Deployer\Task\Task->run() at phar://D:/bin/deployer/deployer.phar/src/Executor/SeriesExecutor.php:43
 Deployer\Executor\SeriesExecutor->run() at phar://D:/bin/deployer/deployer.phar/src/Console/TaskCommand.php:82
 Deployer\Console\TaskCommand->execute() at phar://D:/bin/deployer/deployer.phar/vendor/symfony/console/Command/Command.php:259
 Symfony\Component\Console\Command\Command->run() at phar://D:/bin/deployer/deployer.phar/vendor/symfony/console/Application.php:840
 Symfony\Component\Console\Application->doRunCommand() at phar://D:/bin/deployer/deployer.phar/vendor/symfony/console/Application.php:192
 Symfony\Component\Console\Application->doRun() at phar://D:/bin/deployer/deployer.phar/vendor/symfony/console/Application.php:123
 Symfony\Component\Console\Application->run() at phar://D:/bin/deployer/deployer.phar/src/Deployer.php:101
 Deployer\Deployer->run() at phar://D:/bin/deployer/deployer.phar/bin/dep:62
 require() at D:\bin\deployer\deployer.phar:4

I would love to do whatever I can to fix this issue, but that is mainly testing. I am on Windows. Is it not broken on other OSs. This bug seems to be rather important. Is there any chance it will be worked on some time soon?

By the way I am using password authentication and get this error, unlike the original case. So the scope of this bug can be broader.

I'm getting the same error when I pass only directory path and not full file path for the second parameter.

For example this throws the mentioned error:

upload('test.txt', '/some/upload/dir');

but this doesn't

upload('test.txt', '/some/upload/dir/test.txt');

Was this page helpful?
0 / 5 - 0 ratings

Related issues

khoanguyen96 picture khoanguyen96  路  5Comments

dima-stefantsov picture dima-stefantsov  路  4Comments

sweebee picture sweebee  路  3Comments

k-solnushkin picture k-solnushkin  路  5Comments

ovaiskhan11 picture ovaiskhan11  路  4Comments