• My Del.icio.us

Instalando a extensão ssh2 no PHP

A extensão ssh2 para PHP permite que conexões à servidores SSH sejam estabelecidas, sendo assim, scripts PHP ganham a funcionalidade de conectarem-se em outros servidores e executem comandos nestes servidores. É possível também utilizar uma função semelhante ao comando “scp”, para a transferência de arquivos.

** Eu não fiz um script que utilize essa extensão, apenas a instalei aqui no ambiente de teste que tenho no meu trabalho. Sendo assim, faltará um exemplo 😦

Geralmente esta extensão pode ser instalada com o comando “pecl” . Caso não saiba onde se encontra o comando execute:

whereis pecl

O comando acima retornará a a localização exata do pecl. Para instalá-lo no sistema execute:

pecl install ssh2

Cas o retorno do comando acima seja parecido com o texto abaixo:

Failed to download pecl/ssh2 within preferred state “stable”, latest release is version 0.11.0, stability “beta”, use “channel://pecl.php.net/ssh2-0.11.0” to install

Cannot initialize ‘ssh2’, invalid or missing package file

Package “ssh2” is not valid

install failed

Você deve executar:

pecl install ssh2 channel://pecl.php.net/ssh2-0.11.0

Se mesmo assim o comando retornar um erro parecido com o texto abaixo:

checking for ssh2 files in default path… not found

configure: error: The required libssh2 library was not found. You can obtain that package from http://sourceforge.net/projects/libssh2/

Significa que devemos instalar algumas dependências para que a compilação possa ser executada corretamente, abaixo os comandos necessários:

yum install libssh2 libssh2-devel

Com os pacotes devidamente instalados é hora, finalmente, de instalar a extensão:

pecl install ssh2 channel://pecl.php.net/ssh2-0.11.0

O processo de instalação será executado com sucesso se uma mensagem semelhante com a apresentada abaixo for exibida:

Build process completed successfully

Installing ‘/usr/local/lib/php/extensions/no-debug-non-zts-20020429/ssh2.so’

install ok: channel://pear.php.net/ssh2-0.11.0

O processo não termina por ai, é necessário ainda ativar esta extensão no “php.ini” , para descobrir onde o arquivo php.ini está localizado execute:

php -i | grep -i “configuration file”

O retorno abaixo deverá ser apresentado:

Configuration File (php.ini) Path => /etc/php.ini

Abra o arquivo para edição e procure a região do arquivo onde as extensões são declaradas, após encontrá-la adicione a seguinte linha:

extension=ssh2.so

Feito isso execute :

php -i

e confira se a extensão está disponível.

Acho que os passo acima são suficientes. Good luck !!

Uma resposta

  1. Funcionou certinho, vlw a dica!

Deixe um comentário