person

这是一个踩坑笔记...
因为受到一个朋友的想法,故需要做一个控制KVM的小工具。
Linux下最常用的管理工具便是virsh,最全能也最方便。
一开始是打算全程php exec()就是干(xd)
但是这类场景实在不太适合,故想直接连接ssh进行操作;寻找了一番资料,发现ssh2模块可以满足需求,但是网上的文档似乎都不太行(php7.2)
便有了此笔记。

环境

​​‌‌​​​‌‌​‌​​‌‌‍​​‌‌​‌​​‌‌‌‌​​​‍​‌​‌‌​​​‌‌​​​​​‍​​‌​‌‌‌‌‌‌‌‌​​​‍​‌‌​​‌‌‌​‌‌​​‌‌‌‍​‌‌​​​‌‌‌​​​‌​‌‍​​‌‌‌‌‌‌‌‌​‌​‌‍​‌​​‌​​​‌‌‌​‌‌​‍​‌‌‌​‌‌‌​​‌‌‌​‌​‍‌​‌​‌‌​​‍‌​‌​‌‌​​‍‌​‌‌​‌‌‌‍‌‌​​‌‌​‌‍​​‌‌‌​‌‌​​‌​‌‌​‍​‌​​​‌‌‌​‌​‌​‌​‍​​​​​​​​‌‌‌‌​​‌‌‍​‌‌‌​‌​​​‌​‌​‌‌​‍​‌‌​​​​‌​​‌‌‌‌‌‍​​​‌​​‌​‌‌‌‌​‌‌‍‌​‌​‌‌‌‌‍‌​‌‌​‌‌‌‍‌​‌​‌‌‌‌‍​​‌‌​‌​‌‌​‌​​​​‍​​‌‌‌​​‌‌‌‌‌‌‌​‍​​‌‌​‌‌​​‌‌​​‌​‍​‌‌​​​​‌​‌​​​‌‌‍‌​‌​‌‌​​‍‌​‌​‌‌​​‍‌​‌‌​‌‌‌‍​​‌‌‌‌‌‌‌‌​‌​​‍​​​​​​​​‌‌‌‌​​‌‌‍​​​‌​‌​‌‌​​‌‌‌​‍‌​​‌​​​​‍‌​​​‌​‌​‍‌​​​‌​‌‌‍‌​​​‌​‌‌‍‌​​‌​‌‌​‍‌​​‌​​‌​‍‌​​‌‌​‌​‍​‌‌​​​‌​‌‌‌​​​‌‍‌‌​​‌‌​‌‍‌‌​​‌‌‌‌‍‌‌​​‌‌‌​‍‌‌​​​‌‌​‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​‌​‌‌‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​‌​​​‍​‌​‌‌​‌‌‌‌​​‌​​‍​‌‌​​​​‌​‌​​​‌‌‍​​​​​​​​‌‌‌‌​​‌‌‍​‌​‌‌​​​‌‌​​​​​‍​​‌‌​‌​​‌‌‌‌​​​‍​‌​‌​​​‌‌​​‌‌‌‌‍​‌​‌​​​‌​‌‌‌‌‌‌‍​​​​​​​​‌‌‌​​‌​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌‌‍‌​​​‌‌‌‌‍‌​​​‌‌​​‍‌‌​​​‌​‌‍‌​‌​​​‌‌‍‌​‌​​​‌‌‍‌​​‌‌‌​‌‍‌​​‌​​‌‌‍‌​​‌​​​​‍‌​​‌‌​​​‍‌‌​‌​​​‌‍‌​​​‌​‌‌‍‌​​‌​‌‌​‍‌​​‌​​‌​‍‌​​‌‌​‌​‍‌​​​‌​​​‍‌​​‌​‌​​‍‌‌​‌​​​‌‍‌​​‌‌‌​​‍‌​​‌​​​‌‍‌​‌​​​‌‌‍‌​​‌‌​‌​‍‌​​​​‌‌‌‍‌​​​‌‌‌‌‍‌​‌​​​‌‌‍‌‌​​‌​​‌‍‌‌​​‌‌​‌‍‌‌​‌​​​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​‌​​‌​‍‌​​‌​​‌‌‍​​‌‌‌‌‌‌‌‌‌‌​‌‍‌​‌​‌​‌‌‍‌​​‌​‌‌​‍‌​​‌​​‌​‍‌​​‌‌​‌​‍‌​‌​‌​‌‌‍‌​​​‌‌​‌‍‌​​‌‌​‌​‍‌​​‌‌​‌​‍‌​‌​‌‌​​‍‌​​​‌​‌‌‍‌​​​‌​‌​‍‌​​‌‌​‌‌‍‌​​‌​‌‌​‍‌​​‌​​​​‍​​​‌‌​‌‌​‌‌​‌‌‌‍​​‌‌​​​‌​‌‌‌‌​​‍​​‌‌‌​‌‌​‌‌‌‌‌‌‍​​‌‌​​​‌‌‌‌​‌‌​

采用的环境是 Centos 7.2
PHP也是 7.2
Web引擎是 Nginx
环境安装都是宝塔来的~

安装

最后学下来,其实安装真的爆简单~
首先得安装libssh2库,网上的都是些编译方案,而下载链接部分已经失效了,后头找到原来yum可以直接装...
yum install -y libssh2 libssh2-devel php-devel gcc-c++
安装完成后就可以用pecl安装ssh2模块了(棒!)
安装前,需要把 popen() 函数的禁用删除
pecl install ssh2-1.1.2
如果提示需要输入前缀(prefix),直接回车就行。
QQ截图20190407153904.png
官方说明了,php7及以上高版本需要使用ssh2-1.0.0及以上的版本,这边用了写下本文时的最新版本。
QQ截图20190407150100.png
安装完成后,根据提示,将ssh2.so加入php.ini
QQ截图20190407150253.png
(学宝塔配置好的,价格说明2333)
图没有截完,这里的目录请使用上一个步骤安装完成时提示的目录(xxx/xxx/ssh2.so)
这句话加载php.ini的最后头就行
然后重启PHP服务即可。

测试

写一个PHP文件,执行一下ssh2_connect();
报缺少参数的错误就安装完成惹~
(顺便跟下风,XornHub的Logo真是简单又好看)

新评论