Check settings in plesk: Tools and Settings > General > PHP Settings. Click on a php version:
Through the OS vendor (CentOS 7 PHP 5.4.16 OS Vendor)
Connect to the server via SSH;
Install the pre-compiled extension packages: .rpm-based distribution (CloudLinux, CentOS, RHEL):
# yum install -y epel-release
# yum install -y php-pecl-ssh2
.deb-based distribution (Debian, Ubuntu):
# apt install -y php-ssh2
Restart apache:
# service httpd restart
Reload the handler
# plesk bin php_handler --reread
You can check with php -m
# php -m ssh2
Check command line:
# php -i | grep ssh2 /etc/php.d/ssh2.ini, Registered PHP Streams => https, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp, zip PHP Warning: Unknown: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in Unknown on line 0 libSSH Version => libssh2/1.4.3 ssh2 libssh2 version => 1.4.3 banner => SSH-2.0-libssh2_1.4.3
Check in Plesk. Tools and Settings > General > PHP Settings > Click on 5.4.16 by OS vendor FPM application
Plesk PHP 5.6
Install Development packages:
# yum install plesk-php56-devel gcc libssh2-devel
Install all ssh2:
# /opt/plesk/php/5.6/bin/pecl install ssh2-0.13
Register extension in configuration file:
# echo "extension=ssh2.so" > /opt/plesk/php/5.6/etc/php.d/ssh2.ini Update PHP handlers information:
# plesk bin php_handler --reread The information about PHP handlers was successfully updated.
Restart PHP-FPM:
Find the plesk version:
# plesk bin php_handler --list | grep -E plesk.*fpm | awk -F" " '{ print $1 }' plesk-php56-fpm plesk-php70-fpm plesk-php71-fpm plesk-php72-fpm
Restart the applicable servie for your environment, In this case, plesk-php56-fpm
# service plesk-php56-fpm restart
You can check with a phpinfo file here:
Plesk PHP 7.0 and Above
Note: In following instructions ‘7.0’ should be replaced with ‘7.1’ to install the extension for PHP 7.1.
Connect to the server via SSH
Install all required packages: .rpm-based distribution (CloudLinux, CentOS, RHEL):
Note: Following steps describe the installation of developer packages for PHP 7.0. For PHP 7.2, for instance, plesk-php72-devel or plesk-php72-dev must be installed.
# yum install -y plesk-php70-devel gcc libssh2-devel
.deb-based distribution (Debian, Ubuntu):
# apt install -y plesk-php70-dev gcc libssh2-1-dev
Build the extension:
Install the extension:
# /opt/plesk/php/7.0/bin/pecl install ssh2-1.1.2 downloading ssh2-1.1.2.tgz ... Starting to download ssh2-1.1.2.tgz (32,057 bytes) .........done: 32,057 bytes 6 source files, building running: phpize Configuring for: PHP Api Version: 20151012 Zend Module Api No: 20151012 Zend Extension Api No: 320151012 libssh2 prefix? [autodetect] :
Hit enter and you should see he the build successful
building in /tmp/pear-build-rootSbcR3r/ssh2-1.1.2 running: /tmp/ssh2/configure --with-php-config=/opt/plesk/php/7.0/bin/php-config --with-ssh2 checking for grep that handles long lines and -e... /usr/bin/grep ...... Build process completed successfully Installing '/opt/plesk/php/7.0/lib64/php/modules/ssh2.so' install ok: channel://pecl.php.net/ssh2-1.1.2 configuration option "php_ini" is not set to php.ini location You should add "extension=ssh2.so" to php.ini ...
Register extension in configuration file:
# echo "extension=ssh2.so" > /opt/plesk/php/7.0/etc/php.d/ssh2.ini
Update PHP handlers information:
# plesk bin php_handler --reread The information about PHP handlers was successfully updated.
Restart PHP-FPM:
# service plesk-php70-fpm restart
Now you can go to Tools and Settings > General > PHP Settings > 7.0.32 FPM application (or any of the activated 7.0.32 links). And you should see:
Other sources:
https://support.plesk.com/hc/en-us/articles/213930085-How-to-install-SSH2-extension-for-PHP-
https://www.simplecloudhosting.net/cloud/index.php?rp=/knowledgebase/47/How-to-Install-the-PHP-SSH2-Extension.html