2012-03-28 99 views
1

我一直在嘗試安裝PHP的SSH2庫到運行CentOS 5的PHP 5.1.6的Web服務器上,並且能夠成功安裝所有的依賴關係,但重啓Web服務器出現以下錯誤:ssh2.so無法在CentOS 5上加載

PHP警告:PHP啓動:無法加載動態庫'/usr/lib64/php/modules/ssh2.so' - libssh2.so.1:無法打開共享對象文件:沒有這樣的文件或目錄在未知的行0

有沒有人遇到過這個? ssh2.so文件存在於'/usr/lib64/php/modules/ssh2.so'中,與所有其他擴展名(-rwxr-xr-x)具有相同的文件權限。

感謝

+0

是否啓用了selinux?如果是這樣,它是否有正確的上下文標籤? – 2012-03-28 04:49:46

+0

Selinux目前已停用。 – 2012-03-28 17:18:24

回答

-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下/或東西。

如果沒有找到它,一個快速谷歌搜索帶來了這是一個命中的libssh2上centos5:

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

安裝的是,重啓apache,並再次嘗試。

+0

添加符號鏈接返回:'PHP啓動:無效的庫(可能不是PHP庫)'ssh2.so'在未知的第0行,我已經安裝了libssh2 – franzlorenzon 2013-02-28 14:29:07

+1

爲了解決這個問題,我安裝了它:http:// stackoverflow.com/questions/8535885/trying-to-install-ssh2-on-php/15138640#15138640 – franzlorenzon 2013-02-28 15:12:59

-1

也許phpseclib, a pure PHP SSH implementation,會更適合你嗎?例如:

<?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'); 
?>