Не удается загрузить библиотеку phpseclib, установленную с помощью composer, в приложении CakePHP
Я хотел бы использовать библиотеку phpseclib в моем приложении CakePHP 2.8. После установки всех зависимостей в app/Vendor
каталог я пытаюсь попробовать установку phpseclib.
Но я не могу загрузить библиотеку:
include('Net/SFTP.php');
$sftp = new Net_SFTP('127.0.0.1');
но эта ошибка происходит:
Ошибка: класс 'Net_SFTP' не найден
В AppController я загружаю автоматически сгенерированное включение, и я думал, что это должно быть сделано:
require_once ROOT . DS . 'vendors' . DS . 'autoload.php';
Что мне не хватает?
2 ответа
Если вы сделали composer require phpseclib/phpseclib
вместо composer require phpseclib/phpseclib:~1.0
вы используете 2.0. NET_SFTP находится только в ветке 1.0. В ветке 2.0 это \ phpseclib \ Net \ SFTP.
Если вы используете composer, то вам просто нужно включить автозагрузчик композиторов. Вам не нужно включать определенные библиотеки (это точка автозагрузчика композиторов).
Если вы посмотрите на исходный код библиотеки, то заметите, что она имеет пространство имен ( https://github.com/phpseclib/phpseclib/blob/2.0.4/phpseclib/Net/SFTP.php). Так что вам нужно либо импортировать пространство имен с use
заявление или:
$sftp = new phpseclib\Net\SFTP('127.0.0.1');