Как увеличить скорость загрузки с помощью sftp с PHP? - PullRequest
2 голосов
/ 27 сентября 2019

В моем проекте я использую sftp (https://www.php.net/manual/en/book.ssh2.php) для загрузки файла на удаленный сервер.

Код загрузки файла:

    if (!$localStream = @fopen($localFilePath, 'r')) {
        throw new Exception("Unable to open local file for reading: $localFilePath");
    }

    // Remote stream
    if (!$remoteStream = @fopen("ssh2.sftp://".$sftp_int."/$savePath", 'w')) {
        throw new Exception("Unable to open remote file for writing: $savePath");
    }

    // Write from our remote stream to our local stream
    $read = 0;
    $fileSize = filesize($localFilePath);
    while ($read < $fileSize && ($buffer = fread($localStream, $fileSize - $read))) {
        // Increase our bytes read
        $read += strlen($buffer);

        // Write to our local file
        if (fwrite($remoteStream, $buffer) === false) {
            throw new Exception("Unable to write to local file: $savePath");
        }
    }

НоЯ отслеживаю и вижу скорость загрузки медленно.

Я исследовал и обнаружил: Почему SSH2 SFTP намного медленнее, чем FTP и FTPS?

И: http://phpseclib.sourceforge.net/

Как увеличить скорость загрузки с помощью sftp с PHP?

Пожалуйста, помогите мне. Спасибо

...