gpt4 book ai didi

使用 ssh2_scp_send 的 PHP 脚本无法创建远程文件

转载 作者:行者123 更新时间:2023-12-05 02:21:17 25 4
gpt4 key购买 nike

我正在尝试将文件传输到共享主机帐户 (godaddy),但失败了:

警告:ssh2_scp_send():创建远程文件失败:无法发送“本地/文件/路径”中的文件

我安装了 SSH2,连接正常。我什至运行了一个 ssh2_exec 命令来查看我是否可以影响远程服务器并且我能够创建一个目录。 我还成功地在命令行上直接使用了 scp 来双向...作为进一步的故障排除尝试,我颠倒了文件路径并创建了一个远程服务器文件以供其尝试下载,我收到此错误:

无法打开流:没有那个文件或目录

我调用主机以确保我使用的是正确的绝对文件路径,我尝试了很多变体,但我仍然遇到此错误。我认为我的问题出在远程文件路径上。

问题代码如下:

$localpath=$_SERVER['DOCUMENT_ROOT'].'/local_file_path/' ;

$remotepath = 'website.com/public_html/folder/' ;

$connection = ssh2_connect('website.com', 22);

ssh2_auth_password($connection,'username','password' );

ssh2_scp_send($connection,"$localpath"."SUCCESS.txt", "$remotepath"."SUCCESS.txt", 0644);

我在尝试通过 PHP 使用 sftp 时也遇到了问题。我在网上的其他地方读到,你必须在文件路径上使用双引号,无论何时它们失败,打印的路径看起来都是正确的,但也许我遗漏了什么?

更新

我使用 filezilla 通过 sftp 登录共享主机帐户,发现复制时,完整的 url 路径与登录时给我的完整 url 路径不同,抛出常规 ftp。我现在可以上传文件,但是,我似乎还不能下载,具有讽刺意味的是......我仍然收到无法在远程服务器上找到文件路径的错误。

最佳答案

ssh2_scp_send 需要绝对路径,我通过在需要发送文件的地方使用 pwd 解决了我的问题。 ~/ 也不起作用,它不是绝对路径。

本页底部评论http://www.php.net/manual/en/function.ssh2-scp-send.php指的是您可能遇到的问题。

我建议使用 phpseclib或 ssh2_sftp

有趣的主题:

关于使用 ssh2_scp_send 的 PHP 脚本无法创建远程文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35331318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com