我想在我的项目中使用phpseclib。如果我以单一方式测试它,它可以正常工作。但当我把它放在我的源代码中时,屏幕是空白的。
以下是代码的一部分:
<?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与require它工作正常。但是在我用$ssh = new Net_SSH2('localhost');
打开它时,代码崩溃了,屏幕是空白的。
目前我收到以下错误:
致命错误:未捕获的异常'LogicException',消息为'Class 无法加载Math_BigInteger /var/www/test/phpseclib/Net/SSH2.php:857堆栈跟踪:#0 [内部 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-&gt; Net_SSH2('localhost')#3 {main}引入 第857行/var/www/test/phpseclib/Net/SSH2.php
这是实际的代码:
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 :(得分:0)
屏幕可能是空白的,因为你将display_errors设置为1.如果你在PHP文件的顶部做ini_set('display_errors', 1);
,你可能会开始看到错误。
代替了解您所遇到的错误我不得不猜测您需要\Net_SSH2
代替Net_SSH2
。