Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
phpseclib没有显示错误,并且在HEROKU中登录失败_Php_Codeigniter_Heroku_Composer Php_Phpseclib - Fatal编程技术网

phpseclib没有显示错误,并且在HEROKU中登录失败

phpseclib没有显示错误,并且在HEROKU中登录失败,php,codeigniter,heroku,composer-php,phpseclib,Php,Codeigniter,Heroku,Composer Php,Phpseclib,我使用phpseclib通过SFTP将文件传输到服务器。 在我的本地计算机上,文件可以很好地传输到服务器上,但在Heroku上它根本不工作,每次登录都失败。我不知道为什么会这样 这是一段代码 $sftp = new \phpseclib\Net\SFTP(getenv('INSTRUM_SERVER'),22222); if (!$sftp->login(getenv('INSTRUM_USERNAME'), getenv('INSTRUM_PASSWORD'))) {

我使用phpseclib通过SFTP将文件传输到服务器。 在我的本地计算机上,文件可以很好地传输到服务器上,但在Heroku上它根本不工作,每次登录都失败。我不知道为什么会这样

这是一段代码

 $sftp = new \phpseclib\Net\SFTP(getenv('INSTRUM_SERVER'),22222);
        if (!$sftp->login(getenv('INSTRUM_USERNAME'), getenv('INSTRUM_PASSWORD'))) {
            var_dump($sftp->getSFTPErrors());
            exit('Login Failed');
        }
“var_dump”返回一个空数组,因此我不确定登录失败的原因


我使用composer从供应商处加载phpseclib。

我这样使用phpseclib,工作正常:

private $sftp = NULL;

private function create_sftp_object( $host, $port = 22, $timeout = 10 )
{
    $path = APPPATH . 'libraries/phpseclib';

    set_include_path( get_include_path() . PATH_SEPARATOR . $path );

    include_once( APPPATH . 'Net/SFTP.php');

    return new Net_SFTP( $host, $port, $timeout );
}

public function index()
{
    $this->sftp = create_sftp_object( 
        getenv('INSTRUM_SERVER'), 
        22222, 
        6 
    );

    if( $this->sftp->login( getenv('INSTRUM_USERNAME'), getenv('INSTRUM_PASSWORD') ){
        echo 'Login successful';
    }else{
        echo 'Login not successful';
    }
}

这和你的代码有点不同。如您所见,我的库目录中有phpseclib。试试看它是否对你有用。

你是否尝试过转储不同的环境变量,看看它们是否正确?@NicoHaase是的,它们都是准确的,在我转储时可见them@NicoHaase我甚至删除了get env并开始使用once的实际版本。看起来你在上发布了这个。FWIW.@neubert是的,我做了,看看是否有可能至少从他们那里得到答案。如果我得到答案,我会在这里发布正确的答案。我尝试了,但没有解决问题。不幸的是,更糟糕的是,没有错误。我对Keroku一无所知,但我猜他们可能会阻塞端口。你至少应该联系他们并询问他们。