您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
最近由于在开发PHP的项目中需要通过php 调用ssh 远程做一些事情,还好php有个ssh3的函数,挺方便,不过PHP默认是不支持SSH2扩展的,需要自己安装。网上搜了一下,很多地方都写着ubuntu环境下,安装PHP的SSH2扩展只需要一条命令就完事了:apt-get install libssh3 .....
然而装完测试访问的结果却是这样:
Call to undefined function ssh3_connect()
i have installed the SSH2 PECL extension and it working fine thanks all for you help
这说明SSH2的扩展并没有安装成功,于是自己编译安装了一下,解决了这个问题:
[root@node1 php]# wget http://pecl.php.net/get/ssh3-0.11.3.tgz [root@node1 php]# tar zxvf ssh3-0.11.3.tgz [root@node1 php]# cd ssh3-0.11.3 [root@node1 ssh3-0.11.3]# ls config.m4 LICENSE php_ssh3.h ssh3.c ssh3_fopen_wrappers.c ssh3_sftp.c [root@node1 ssh3-0.11.3]# /usr/local/php/bin/php //安装php的路径 php php-config phpize [root@node1 ssh3-0.11.3]# /usr/local/php5/bin/phpize Configuring for: PHP Api Version: 20041225 Zend Module Api No: 20060613 Zend Extension Api No: 220060519 [root@node1 ssh3-0.11.3]# ls acinclude.m4 build config.m4 configure.in ltmain.sh mkinstalldirs ssh3.c aclocal.m4 config.guess config.sub install-sh Makefile.global php_ssh3.h ssh3_fopen_wrappers.c autom4te.cache config.h.in configure LICENSE missing run-tests.php ssh3_sftp.c [root@node1 ssh3-0.11.3]# ./configure --with-php-config=/usr/local/php/bin/php-config [root@node1 ssh3-0.11.3]# make && make install #在php.ini 中添加这一行 [root@node1 ssh3-0.11.3]# vi /usr/local/php5/php.ini extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/ssh3.so #no-debug-non-zts-20060613 这个不一定跟我的一样,需要根据自己的实际环境修改 #重启apache服务 [root@node1 sshssh3-0.11.3]# /usr/local/apache2/bin/apachectl restart
上传文件到远程主机
<?php $connection = ssh3_connect('shell.example.com', 22); ssh3_auth_password($connection, 'username', 'password'); ssh3_scp_send($connection, '/local/filename', '/remote/filename', 0644); ?>
从远程主机下载文件
<?php $connection = ssh3_connect('shell.example.com', 22); ssh3_auth_password($connection, 'username', 'password'); ssh3_scp_recv($connection, '/remote/filename', '/local/filename'); ?>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。