1

我一直在尝试将 php 的 SSH2 库安装到运行 CentOS 5 和 PHP 5.1.6 的 Web 服务器上,并且能够成功安装所有依赖项,但是在重新启动 Web 服务器后出现以下错误:

PHP 警告:PHP 启动:无法加载动态库 '/usr/lib64/php/modules/ssh2.so' - libssh2.so.1:无法打开共享对象文件:第 0 行的未知中没有此类文件或目录

有没有人遇到过这个?ssh2.so 文件存在于 '/usr/lib64/php/modules/ssh2.so' 并具有与所有其他扩展 (-rwxr-xr-x) 相同的文件权限。

谢谢

4

2 回答 2

-1

错误的关键是:

libssh2.so.1: cannot open shared object file: No such file or directory

您的 ssh2.so 文件找不到它。运行这个,你会明白我的意思:

ldd /usr/lib64/php/modules/ssh2.so

尝试这个:

updatedb
locate libssh2.so.1

如果找到,您可能需要在 /usr/lib64/ 或其他内容中创建符号链接。

如果没有找到它,快速的谷歌搜索会在 centos5 上将它作为 libssh2 的热门搜索:

http://centos.karan.org/el5/extras/testing/x86_64/RPMS/libssh2-0.18-10.el5.kb.x86_64.rpm

安装它,重新启动 apache,然后再试一次。

于 2012-03-29T04:11:01.000 回答
-1

也许phpseclib,一个纯 PHP SSH 实现,更适合你?一个例子:

<?php
include('Net/SSH2.php');

$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
    exit('Login Failed');
}

echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');
?>
于 2012-03-29T12:25:27.817 回答