如何解决手动安装 phpseclib 的 SFTP 命名空间
我正在尝试通过手动安装使用 SFTP (PHPseclib) 进行连接。那是我第一次使用命名空间,所以我不知道我在做什么是我必须的方式。
我确实从 GitHub 下载了 PHPseclib 作为 ZIP 并将其放入 /home/libs_web/PHP/class/PHPseclib3
之后我使用了这个代码(只是作为例子):
require('/home/libs_web/PHP/class/PHPseclib3/Net/SFTP.PHP');
use PHPseclib3\Net\SFTP;
$sftp = new SFTP('localhost');
$sftp->login('username','password');
正如这里提到的,但在顶部有一个包含:https://phpseclib.com/docs/sftp
这是我的错误:致命错误:未捕获的错误:在 /home/libs_web/PHP/class/PHPseclib3/Net/SFTP.PHP:52 中找不到类 'PHPseclib3\Net\SSH2'
我的命名空间似乎无法正常工作。我不使用自动加载器、作曲家,并尝试将工作目录设置为 /home/libs_web/PHP/class/PHPseclib3/ & /home/libs_web/PHP/class/。
不知道该怎么办了。如果我包含文件 /Net/SSH2.PHP,我会遇到另一个关于另一个文件的错误。我认为这不是正确的工作方式。
你能提供一些帮助吗?
解决方法
phpseclib3 最好与 Composer 一起安装。例如。在 CLI 上执行 composer init; composer require phpseclib/phpseclib:~3.0
。您还可以将 require __DIR__ . '/vendor/autoload.php';
放在文件的顶部
如果你想做一些事情,比如让你的源代码可供人们下载并使其在共享主机上工作,如果 CLI 访问可能不可用,我猜你可以做 Composer,然后自己上传 vendor/ 目录或包括它与您的 zip 文件或其他任何东西。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。