我与另一家正在从常规 FTP 转移到 SFTP 以进行连接的公司合作。他们告诉我,我现有的用户名和密码是相同的,但我现在需要通过端口 22 上的 SFTP 连接。我有几个 PHP 脚本可以做一些基本的事情,比如连接到他们的网站,获取目录列表,并每天上传和下载一个文件。这些在 FTP 上都可以正常工作,所以我只需要将协议换成 SFTP。
在做了一些研究之后,似乎一致认为 phpseclib 是使用 PHP 执行 SFTP 的最简单和最强大的方法。我的服务器正在运行 Linux 和 Apache。我下载了该库并尝试仅运行 phpseclib 给出的基本示例,但出现错误:
注意:在第 244 行的 System/SSH/Agent.php 中找不到 SSH_AUTH_SOCK
当我查看时Agent.php
,我看到脚本正在寻找在或SSH_AUTH_SOCK
中定义。我一定遗漏了一些明显的东西,但我不知道如何克服这个错误。$_SERVER
$_ENV