Что я хочу сделать
Я хочу upload
/download
файл через sftp
с помощью php
. phpseclib-library
выглядит очень многообещающе.
Что я уже сделал
Я изменил свой conposer.json на:
{
"require": {
"nicolab/php-ftp-client":"*",
"php-curl-class/php-curl-class":"*",
"phpseclib/phpseclib":"*"
}
}
Затем я обновил свой каталог. Composer установил библиотеку в папку поставщика.
Проблема
Проблема в том, что я не могу создать новый SFTP-Object
.
Fatal error: Class 'SFTP' not found in...
Я также пробовал NET_SFTP
в качестве имени класса, но это тоже не сработало. Одного я не понимаю, почему on указывает, что имя класса NET_SFTP
, когда в источнике он явно называется SFTP
.
Также автозагрузка, похоже, не работает.
Я добавил echo "testline";
в библиотеку, чтобы посмотреть, загружен ли файл. Ничего не происходит, если я использую автозагрузку. если я вручную включаю файл, печатается "testline"
, но класс все еще не найден.
Мой код
Пример первый
<?php
include '/vendor/autoload.php';
$sftp = new SFTP('domain');
if (!$sftp->login('user', 'pass')) {
exit('Login Failed');
}
-> нет эха
Пример второй:
<?php
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib/phpseclib');
include('Net/SSH2.php');
include('Net/SFTP.php');
$sftp = new SFTP('www.domain.tld');
if (!$sftp->login('username', 'password')) {
exit('Login Failed');
}
-> эхо
В обоих примерах он не может найти класс.
use phpseclib3\Net\SFTP;
- person Ronnie   schedule 08.04.2021