2013-08-13 1 views
1

Я использую PHP phpseclib .И я получаю следующее сообщение об ошибке при выполнить сценарийPHP Фатальная ошибка: Class 'Crypt_RSA' не найден

PHP Fatal error: Class 'Crypt_RSA' not found 
in /home/xxxxx/public_html/index.php on line 5 

PHP SCRIPT

<?php 

include('library/php/Net/SSH2.php'); 

$key = new Crypt_RSA(); 
$key->setPassword('891600909v'); 
$key->loadKey(file_get_contents('891600909'));<--This is the pvt key file in home directory in my ubuntu PC--> 

$ssh = new Net_SSH2('www.xxxxx.com'); 
if (!$ssh->login('xxxxx.com', $key)) { 
    exit('Login Failed'); 
} 

echo $ssh->read('[email protected]:~$'); 
$ssh->write("ls -la\n"); 
echo $ssh->read('[email protected]:~$'); 

?> 

Как мог я решить эту проблему?

ответ

5

Вам необходимо также включить файл RSA.php для класса Crypt_RSA.

Добавьте это под вашим другом включают в себя (если у вас есть этот файл, загруженный):

include('library/php/Crypt/RSA.php'); 
+0

Теперь говорит require_once (Math/BigInteger.php): не удалось открыть поток: нет такого файла или каталога в /home/xxxxx/public_html/library/php/Crypt/RSA.php в строке 465 – underscore

+0

Убедитесь, что у вас есть весь пакет загружен там, и структура каталогов остается нетронутой из ZIP. –

+0

какой файл я должен включить в ключ $ key-> loadKey (file_get_contents ('891600909')); ??? – underscore

2

Добавление к тому, что Райан сказал красивой убедитесь, что ваш include_path устанавливается соответствующим образом. например.

<?php 
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib'); 

include('Net/SSH2.php'); 
0

Вы можете установить phpseclib с грушей или получить их с сайта

http://phpseclib.sourceforge.net/pear.htm

вручную загрузить каждый из классов, которые вы хотели, и включить их в свой основной проект.