phpseclib\Net\SSH1::_initShell PHP Method

_initShell() public method

Creates an interactive shell
See also: self::interactiveRead()
See also: self::interactiveWrite()
public _initShell ( ) : boolean
return boolean
    function _initShell()
    {
        // connect using the sample parameters in protocol-1.5.txt.
        // according to wikipedia.org's entry on text terminals, "the fundamental type of application running on a text
        // terminal is a command line interpreter or shell".  thus, opening a terminal session to run the shell.
        $data = pack('CNa*N4C', NET_SSH1_CMSG_REQUEST_PTY, strlen('vt100'), 'vt100', 24, 80, 0, 0, self::TTY_OP_END);
        if (!$this->_send_binary_packet($data)) {
            throw new \RuntimeException('Error sending SSH_CMSG_REQUEST_PTY');
        }
        $response = $this->_get_binary_packet();
        if ($response === true) {
            return false;
        }
        if ($response[self::RESPONSE_TYPE] != NET_SSH1_SMSG_SUCCESS) {
            throw new \UnexpectedValueException('Expected SSH_SMSG_SUCCESS');
        }
        $data = pack('C', NET_SSH1_CMSG_EXEC_SHELL);
        if (!$this->_send_binary_packet($data)) {
            throw new \RuntimeException('Error sending SSH_CMSG_EXEC_SHELL');
        }
        $this->bitmap |= self::MASK_SHELL;
        //stream_set_blocking($this->fsock, 0);
        return true;
    }