windows10 中安装php7.3.4的ssh2插件附带linux中配置ssh2
原文:https://blog.ekanshu.com.cn/article/125
问题描述:在composer 安装项目的composer.json组件报错如下:
Root composer.json requires PHP extension ext-ssh2 * but it is missing from your system. Install or enable PHP’s ssh2 extension.
解决思路:
(1)首先在本项目的访问入口,增加phpinfo.php文件,内容"<?php phpinfo();",通过浏览器访问该页面,如下图所示:(需要找对应红框里的文件格式去下载扩展文件)
(2)网上下载对应的扩展文件,下载地址https://windows.php.net/downloads/pecl/snaps/ssh2/1.2-dev/,
具体地址来源:https://windows.php.net/download/找到PECL的位置(PECL 的全称是 The PHP Extension Community Library ,是一个开放的并通过 PEAR(PHP Extension and Application Repository,PHP 扩展和应用仓库)打包格式来打包安装的 PHP扩展库仓库。)
(3)下载完对应的扩展文件,将文件拷贝到 php7.3.4/ext下,并修改php.ini文件,其内容中追加extension=ssh2,重启apache即可 我这里下载的是:php_ssh2-1.2-dev-7.3-ts-vc15-x64.zip
(4)刷新第一步浏览器的phpinfo页面,展示如下即安装成功。
追加关于Linux中安装php7.3的 php_ssh2扩展
先安装 libssh2 再安装 SSH2
1、安装libssh2
(1)下载所需要的插件 wget http://www.libssh2.org/download/libssh2-1.4.2.tar.gz
(2)直接configure(configure是一个shell脚本,它可以自动设定源程序以符合各种不同平台上Unix系统的特性,并且根据系统叁数及环境产生合适的Makefile文件或是C的头文件(header file),让源程序可以很方便地在这些不同的平台上被编译连接)
./configure --prefix=/usr/local/php738/lib/libssh2
结果:
version: 1.4.2
Host type: x86_64-unknown-linux-gnu
Install prefix: /usr/local/php738/lib/libssh2
Compiler: gcc
Compiler flags: -g -O2
Library types: Shared=yes, Static=yes
Crypto library: openssl: yes (AES-CTR: yes) libgcrypt: no
Debug build: no
Build examples: yes
Path to sshd: /usr/sbin/sshd (only for self-tests)
libz compression: yes
(3)编译安装操作 make && make install
2、安装ssh2,老规矩,第一步安装扩展还得去官网中搜索:https://pecl.php.net/package/ssh2
(1)下载插件 wget https://pecl.php.net/get/ssh2-1.2.tgz
(2)常规配置 cd ssh2-1.2
/usr/local/php738/bin/phpize (phpize是一个shell脚本,用于生成PECL扩展的configure文件;编译PHP扩展的工具,主要是根据系统信息生成对应的configure文件)
./configure --prefix=/usr/local/php738/lib/ssh2 --with-php-config=/usr/local/php738/bin/php-config --with-ssh2=/usr/local/php738/lib/libssh2
(3)编译安装操作
make make install
结果:
Installing shared extensions: /usr/local/php738/lib/php/extensions/no-debug-non-zts-20180731/
(4)将扩展文件写入到php.ini中
echo “extension=ssh2.so”>>/usr/local/php738/etc/php.ini
(5)重启php-fpm,搞定,回测下phpinfo即可展示跟windows安装一样的结果即成功。
service ./php-fpm restart 或者 service ./php-fpm reload
|