<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                最近的項目要將文件從一臺服務器上傳到另外一臺。本想著搭建ftp服務器,但為了節省時間,沒有去做,而直接想著使用 sftp 或 scp 上傳。這里就要用到 ssh2 擴展,下面說下如何在 PHP 7.1 下安裝 ssh2,因為安裝過程不算很順利。 首先要安裝?[libssh2](http://libssh2.org/)?開發庫,否則安裝擴展的時候會出現這個錯誤: > checking for gawk... gawk > checking for ssh2 support... yes, shared > checking for ssh2 files in default path... not found > **configure: error: The required libssh2 library was not found.? You can obtain that package from http://sourceforge.net/projects/libssh2/** > ERROR: `/tmp/pear/temp/ssh2/configure --with-php-config=/usr/local/php7/bin/php-config --with-ssh2' failed 在 Centos 下用 yum 安裝: > [root@lnmp lnmp.cn]# yum install libssh2 libssh2-devel 安裝完成后再安裝ssh2 擴展,這個擴展并不包含在 PHP 7.1 的源碼中,需要另行下載安裝。而這樣安裝方法首選始終都是 pecl: > [root@lnmp lnmp.cn]# pecl install ssh2 安裝失敗: > **pecl/ssh2 requires PHP (version >= 4.0.0, version <= 6.0.0), installed version is 7.1.0** > No valid packages found > install failed 原因已經提示得很明顯。不支持 PHP 7。PHP 7 已經發行一年多,但有些擴展庫的更新還是沒有跟上。于是乎到它主頁上看個究竟: [https://pecl.php.net/package/ssh2](https://pecl.php.net/package/ssh2) 原來在 16 年中的時候有更新過版本,并且描述中說到 1.0 版本已經支持 PHP 7 > ssh2 1.0 and above is PHP 7 only. To install a version that is PHP 5 compatible you can run 'pecl install ssh2-0.13' 那么剛才安裝失敗應該就是沒選中合適版本的緣故,那么為何會這樣呢,描述中其實也有提到原因: > Note that reaching version 1.0 does NOT indicate we've reached a stable release. 是因為 1.0 版本還不是穩定版,所以 pecl 默認安裝 0.13 穩定版。那這個問題只需要指定版本就可以解決: > [root@lnmp lnmp.cn]# pecl install ssh2-1.0 終于安裝成功: > Build process completed successfully > Installing '/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/ssh2.so' > install ok: channel://pecl.php.net/ssh2-1.0 > Extension ssh2 enabled in php.ini 并且提示 ssh2 已經加入到 php.ini 中。 但如果從未用 pecl 設置好 php_ini 指明 php.ini? 的位置,那就會出現類似下面這樣的提示,就得有時候可能要自己手動加進 php.ini > Build process completed successfully > Installing '/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/ssh2.so' > install ok: channel://pecl.php.net/ssh2-1.0 > **configuration option "php_ini" is not set to php.ini location** > You should add "extension=ssh2.so" to php.ini 可以用如下命令設置 php_ini > [root@lnmp lnmp.cn]# pecl config-set php_ini /usr/local/php7/lib/php.ini 確認 ssh2.so 在 php.ini 中之后,記得 reload php-fpm: > [root@lnmp lnmp.cn]# systemctl reload php-fpm ![php ssh2](https://upload-images.jianshu.io/upload_images/6954572-e9057306a2efa4a6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ``` <?php //密碼登錄 $connection = ssh2_connect('host', port); ssh2_auth_password($connection, 'username', 'password'); //公鑰秘鑰登錄 //使用公鑰登錄時將客戶端的公鑰復制到服務器端的‘/root/.ssh/authorized_keys’文件中,注意文件權限644 $connection = ssh2_connect('host', port, array('hostkey' => 'ssh-rsa')); ssh2_auth_pubkey_file($connection, 'username', '/root/.ssh/id_rsa.pub',//客戶端公鑰 '/root/.ssh/id_rsa', '');//客戶端私鑰及私有秘鑰 $stream = ssh2_exec($connection, '/usr/local/bin/php -i'); stream_set_blocking( $stream, true ); echo (stream_get_contents($stream)); $stream = ssh2_exec($connection, 'ls'); stream_set_blocking( $stream, true ); echo (stream_get_contents($stream)); ?> ``` 關于 ssh2 函數: [http://php.net/manual/en/book.ssh2.php](http://php.net/manual/en/book.ssh2.php) 上傳或下載文件: [http://php.net/manual/en/function.ssh2-scp-send.php](http://php.net/manual/en/function.ssh2-scp-send.php) [http://php.net/manual/en/function.ssh2-scp-recv.php](http://php.net/manual/en/function.ssh2-scp-recv.php)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看