2013-11-26 1 views
0

Я установил phpseclib на моем сайте Wordpress. Каждый раз, когда я запускаю этот скрипт, он показывает пустую страницу и даже скрывает панель администратора Wordpress.Phpseclib внутри wordpress не работает

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

Но тогда я разместил библиотеку вне wordpress, и она отлично работает. В чем может быть проблема? Мне действительно нужен код, который работает внутри wordpress. Спасибо заранее!

+0

Вот как я включаю библиотеку: set_include_path (get_include_path(). Get_include_path(). '/ Phpseclib'); включают («Net/SSH2.php»); –

+0

Вам не нужно делать get_include_path() дважды;) – neubert

+0

Извините. Это была опечатка. Я включил только один раз. –

ответ

0

Мое предположение: phpseclib не находится в include_path в вашем скрипте. Пустая страница, которую вы получаете, вероятно, связана с фатальной ошибкой, связанной с тем, что PHP не может создать экземпляр класса Net_SSH2, поскольку Net/SSH2.php не был включен.

Если вы установили display_errors = 1 и error_reporting = E_ALL, вероятно, вы увидите ошибку.

+0

Я получаю это сообщение об ошибке: Не удалось открыть 'Net/SSH2.php' для включения (include_path = '.:/Usr/lib64/php:/usr/share/pear.:/Usr/lib64/php:/usr/share/pear/phpseclib ') –

+0

Вы установили phpseclib через PEAR? Как это выглядит, если вы делаете/usr/share/pear/phpseclib? – neubert

+0

Прежде всего, спасибо, что ответили на мои вопросы. Я установил через PEAR. Следуя инструкции по http://phpseclib.sourceforge.net/pear.htm, я изменил свой каталог на/usr/share/pear, после чего я установил. Должен ли я создать новый каталог под названием «phpseclib»? Я думал, что это создаст его для меня. Когда я делаю/usr/share/pear/phpseclib, он говорит, что такого файла или каталога не существует. –