我想在CakePHP 2.8应用程序中使用phpseclib librabry。将所有依赖项安装到app/Vendor
目录后,我尝试phpseclib installation。
但我无法加载库:
include('Net/SFTP.php');
$sftp = new Net_SFTP('127.0.0.1');
但发生此错误:
错误:未找到“Net_SFTP”类
在AppController中,我正在加载自动生成的include,我认为必须这样做:
require_once ROOT . DS . 'vendors' . DS . 'autoload.php';
我错过了什么?
答案 0 :(得分:1)
如果你使用作曲家,那么你只需要包括作曲家自动加载器。您不需要包含特定的库(这就是作曲家自动加载器的重点)。
如果查看库的源代码,您会注意到它的命名空间(https://github.com/phpseclib/phpseclib/blob/2.0.4/phpseclib/Net/SFTP.php#L38)。因此,您需要使用use
语句导入名称空间,或者:
$sftp = new phpseclib\Net\SFTP('127.0.0.1');
答案 1 :(得分:1)
如果您使用composer require phpseclib/phpseclib
而不是composer require phpseclib/phpseclib:~1.0
,那么您将使用2.0。 Net_SFTP仅在1.0分支中。在2.0分支中它是\ phpseclib \ Net \ SFTP。