Você precisará reiniciar o daemon PHP - se o servidor web for nginx, então o PHP provavelmente está rodando como fastcgi ou sob PHP-FPM. Infelizmente eu não conheço o CentOS para saber o comando exato a ser usado para reiniciar esse daemon ...
Ok, normalmente meu administrador de sistemas cuida disso, mas ele tem estado bastante relaxado ultimamente e eu não posso esperar mais.
Eu usei o PECL para instalar a extensão ssh2 do PHP. Coloquei o extension=ssh2.so
no php.ini e verifiquei se o ssh2.so está no extension_dir
. Quando eu php -m | grep ssh2
, ele exibe ssh2
. Quando eu executo este script:
<?php
if (function_exists('ssh2_connect'))
{
echo "true";
}
?>
e executá-lo a partir da linha de comando, echos true
.
Quando executo phpinfo()
pelo servidor da web, não consigo encontrar ssh2
em nenhum lugar. Quando eu executo ssh2_connect()
através do servidor, ele me diz que a função é indefinida.
Meu sistema operacional é o CentOS 5.7 Versão do PHP 5.2.14 nginx / 0.7.67
Procurei em todo o Google e tentei tudo o que pude encontrar, mas não consigo descobrir. Alguém pode ajudar?
EDITAR:
Apenas para manter vocês atualizados, Shish estava certo. Eu encontrei um programa php-fpm
, que quando chamado, parece ser o que eu estou procurando. No entanto, ele está falhando ao carregar a extensão ssh2 devido a números de API incompatíveis
Starting php_fpm PHP Warning: PHP Startup: ssh2: Unable to initialize module
Module compiled with module API=20050922, debug=0, thread-safety=0
PHP compiled with module API=20060613, debug=0, thread-safety=0
These options need to match
in Unknown on line 0
done
Após algumas pesquisas curtas, parece que pode ser um problema meu instalar o módulo ssh2 via PECL, e acredito que meu sysadmin compilou o PHP a partir do código-fonte.
Olhando agora.
EDITAR:
Após pesquisas adicionais, parece que duas versões do PHP estão instaladas no meu sistema. Um que eu provavelmente instalei através do yum, e um que meu sysadmin provavelmente instalou. Parece que php-fpm
está carregando o que ele instalou e, naturalmente, minhas atualizações não estão afetando. Talvez eu espere por ele no caso de estragar alguma coisa.
EDITAR:
Pensando bem, vou remover tudo e experimentar sozinho. Na pior das hipóteses, vou precisar que ele reinstale tudo e, na melhor das hipóteses, funcionará e não terei mais que esperar por ele. Me deseje sorte.
EDITAR:
Não. Risca isso. Não faço ideia do que estou fazendo. Eu acho que odeio a minha vida. Tenho cerca de 30 separadores abertos no Chrome agora. Vou dormir. Espero que alguém possa fornecer mais informações enquanto eu durmo.
EDITAR:
Sim, provavelmente destruiu tudo. Vou tentar consertar o meu dano e então deixar o meu sysadmin lidar com isso novamente. Vai aceitar a resposta atual porque, bem, estava certo. Passado que foi apenas problemas com a incompatibilidade de API do módulo.
Você precisará reiniciar o daemon PHP - se o servidor web for nginx, então o PHP provavelmente está rodando como fastcgi ou sob PHP-FPM. Infelizmente eu não conheço o CentOS para saber o comando exato a ser usado para reiniciar esse daemon ...