2015-04-16 2 views
0

Я хочу использовать phpseclib в моем проекте. Если я тестирую его одним способом, все работает отлично. Но когда я поместил его в исходный код, экран будет пустым.phpseclib new NET_SSH2 не работает

Вот часть кода:

<?php 
namespace data; 

spl_autoload_extensions('.php'); 
spl_autoload_register(); 

session_start(); 

//set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib'); 

require '/phpseclib/Net/SSH2.php'; 
$ssh = new Net_SSH2('localhost'); // this will not work? 

?> 

Я работаю с пространством имен. Когда я загружаю SSH2.php с требованием, он работает нормально. Но в точке я открываю его с $ssh = new Net_SSH2('localhost');, код разбился, и экран пуст.

В настоящее время я получаю следующее сообщение об ошибке:

Fatal error: Uncaught exception 'LogicException' with message 'Class Math_BigInteger could not be loaded' in /var/www/test/phpseclib/Net/SSH2.php:857 Stack trace: #0 [internal function]: spl_autoload('Math_BigInteger') #1 /var/www/test/phpseclib/Net/SSH2.php(857): class_exists('Math_BigInteger') #2 /var/www/test/index.php(15): Net_SSH2->Net_SSH2('localhost') #3 {main} thrown in /var/www/test/phpseclib/Net/SSH2.php on line 857

Это на самом деле код:

namespace data; 

error_reporting(E_ALL); 

ini_set("display_errors", 1); 

spl_autoload_extensions('.php'); 

spl_autoload_register(); 

session_start(); 

set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib'); 

require 'phpseclib/Net/SSH2.php'; 

$ssh = new \Net_SSH2('localhost'); 
+0

Вы используете встроенный автозагрузчик по умолчанию, поэтому он пытается загрузить файл с именем Math_BigInteger.php в каталог phpseclib/Net /. Чтобы выполнить автозагрузку с помощью phpseclib 0.3/1.0, вам необходимо использовать автозагрузчик PSR-0. например. http://www.php-fig.org/psr/psr-0/ – neubert

ответ

0

экран, вероятно, пустой, потому что у вас есть display_errors набор 1. Если вы ini_set('display_errors', 1); на В верхней части вашего файла PHP вы, вероятно, начнете видеть ошибки.

Вместо того, чтобы знать, какие ошибки вы получаете, я постараюсь догадаться, что вам нужно сделать \Net_SSH2 вместо Net_SSH2.

Смежные вопросы