php如何安装ssh2.so扩展

想要php连接ssh服务端,则需要给php源码安装ssh2.so扩展。ssh2扩展的编译依赖于libssh2。

例如:下面这些函数
PHP: Manual Quick Reference

1. 如何确认是否安装了以上扩展?

在php文件中调用phpinfo()方法, 在页面能看到以下内容,说明安装libssh2和ssh2扩展

php如何安装ssh2.so扩展

2 如何安装以上扩展?

!!!首先确保服务器已安装php

Linux系统:

下载libssh2包: www.libssh2.org/download/

下载ssh2包: pecl.php.net/package/ssh2

本次示例,php-7.3.26 , libssh2 和 ssh2 都下载的最新版本:libssh2-1.10.0.tar.gz, ssh2-1.3.1.tgz

第一步:编译libssh2扩展

假设文件下载到/home/test/目录

cd /home/test/

解压
>tar -zxvf  libssh2-1.10.0.tar.gz

>cd libssh2-1.10.0

>./configure

> make && make install

第二步:编译ssh2扩展

假设文件下载到/home/test/目录

cd /home/test/

解压
>tar -zxvf  ssh2-1.3.1.tgz

>cd ssh2-1.3.1 (进入可查看文件夹内容,没得configure文件)

> phpize (这是php的编译工具,于php的可执行文件在同目录, 执行后得到configure文件)

>./configure --with-ssh2 --with-php-config=/user/local/php/bin/php-config(就是php安装目录/bin/php-config)

> make && make install

ssh2编译成功后得到ssh2.so扩展,地址: /user/local/ssh2/modules/ssh2.so

同时会提示这个so文件已经被复制到了php的扩展文件(若没有可手动复制过去), 地址如下 : Installing shared extensions: /user/local/php/lib/php/extensions/no-debug-non-zts-20180731/

最后,在php.ini中增加如下语句, 然后重启php。 使用1中方式可确认扩展是否安装好。

 extension=ssh2.so

Windows系统

通过phpinfo() 确认系统是64位还是32位,是NTS还是TS(线程安全),以及VC版本,然后下载对应的包。

php如何安装ssh2.so扩展

下载libssh包:windows.php.net/downloads/php-sdk/...
下载php-ssh2包:windows.php.net/downloads/pecl/rel...

解压以上2个压缩包, 分别得到三个重要文件:libssh2.dll、php_ssh2.dll、php_ssh2.pdb

php如何安装ssh2.so扩展

  • 第一步:将 php_ssh2.dll、php_ssh2.pdb 放到php安装目录下的 /ext/ 中
  • 第二步:将libssh2.dll 复制到 C:/windows/system32 和 C:/windows/syswow64 (64位系统才有)各一份
  • 第三步:php.ini中加入 extension=php_ssh2.dll
  • 第四步:重启php。 确认扩展是否安装成功,见1
本作品采用《CC 协议》,转载必须注明作者和本文链接
学过的东西能说出来那是最妙的,能复盘写下来那也不错
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!