问题标签 [ssh2-sftp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
500 浏览

php - 如何在 PHP 中将代理与 ssh2_sftp 方法一起使用?

我检查了文档,但找不到任何关于ssh2_sftpPHP 中函数的代理使用的参考...

如何使用具有这些功能的代理?

0 投票
2 回答
788 浏览

php - ssh2_scp_send 仅适用于 windows,但不能在 linux 上复制到 amazon.com

我有一个小脚本,可以通过 php 的 ssh2 库复制文件。我在 Windows 上尝试了不同版本的 php,它按预期工作,但是当我在 Linux 上上传代码时,它无法复制文件。

注意php代码相同,php版本相同。我没有收到任何错误消息。我在预设文件权限期间使用此命令。在此之前,我尝试使用 fopen,fwrite trough sftp,但在复制文件后我未能对文件进行 chmod。

这是代码(如果重要):

这是 Linux 发行版:

php -i 命令的一些返回行:

编辑:

我只是尝试使用 fopen/fwrite/fclose 代替 ssh_scp_send 并得到相同的结果。我完全糊涂了。这是文件上传的代码:

谢谢。

编辑 2: 这似乎是亚马逊 sftp 特有的问题。我在其他服务器上试过这个,它适用于两个平台。我首先想到的是某种IP保护。你怎么看?亚马逊 sftp 服务器位于:productads.amazon-digital-ftp.com

0 投票
1 回答
4014 浏览

php - 尝试使用 fopen 和 SSH2 获取文件内容时出错

我正在尝试: - 连接到服务器 - 列出所有文件 - 读取文件并回显内容。

连接工作良好:

然后我遍历目录并获取所有文件名,就像一个魅力:

然后我尝试获取文件的内容....但它不起作用。

有输出错误:

警告:fopen(ssh2.sftp://Resource id #4/home/myfile.xml) [function.fopen]:打开流失败:第 38 行 /home/xxxxxx/public_html/xxx.php 中的操作失败

第 38 行是 foreach 的结束。

我尝试:

没有任何效果,总是相同类型的错误,有人可以帮助我吗?谢谢。

更新:我尝试使用:$stream = file_get_contents("ssh2.sftp://$sftp/home/$data");也不起作用...

仍然得到错误:

警告:file_get_contents() [function.file-get-contents]: Unable to open ssh2.sftp://Resource id #3/xxx.xml on remote host in /home/xxxxxx/public_html/xxxx.php on line 40

我不知道...有人可以帮助我吗?

0 投票
1 回答
4014 浏览

php - SSH2 在 php、wamp、windows 中

我必须连接 sftp 链接,并且必须将数据放入 sftp 链接。

我想通过函数连接 sftp 链接ssh2_connect

我的麻烦是,每当我运行该功能时,我都会出错Call to undefined function ssh2_connect()

然后我下载了libssh2.tar.gzssh2.tgz但我不知道在哪里安装/放置这些文件。

我正在使用 - Windows 7、Wamp 服务器、mysql、php PO - 如果我必须运行命令,那么请告诉我必须在哪里运行这些命令。提前感谢如果有另一种连接 sftp 链接的方法,请也分享。

0 投票
0 回答
639 浏览

php - 无法加载 ssh2.so 扩展

我在lampp中加载ssh2扩展时出错。
这是我使用此命令时收到的错误
/opt/lampp/bin/php -r "print_r(stream_get_wrappers());"

Warning: PHP Startup: Unable to load dynamic library '/opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/ssh2.so' - /usr/local/lib/libssh2.so.1: symbol EVP_aes_256_cbc, version OPENSSL_1.0.0 not defined in file libcrypto.so.1.0.0 with link time reference in Unknown on line 0 Array ( [0] => https [1] => ftps [2] => compress.zlib [3] => compress.bzip2 [4] => php [5] => file [6] => glob [7] => data [8] => http [9] => ftp [10] => phar [11] => zip )

有谁知道如何解决这个问题?

0 投票
1 回答
7348 浏览

php - 使用 phpseclib 尝试通过 SFTP 上传时出现错误 110 连接超时

我是这里的新手,但我会尽力描述我的问题。

基本上,每当有人在我的客户网站上完成订单时,我一直在尝试触发屏幕截图文件的自动 SFTP 上传。这是为了审查已完成的申请。我使用 phpseclib 作为上传文件的主要方式。不幸的是,每当我将它连接到其他主机服务器时,都会出现超时错误。如果我将它指向它自己的服务器,则上传工作。因此,当我们通过 sftp 将文件上传到它自己的服务器时,下面代码中的所有内容都可以正常工作。如果是不同的,它将超时。php如下。请注意,我将文件上传交换为仅创建一个用于测试的 txt 文件,结果相同,但仍然超时。

我得到的错误是:

在我们的测试中,他们告诉我他们已经调整了超时长度,但这仍然是结果。我还为 sftp 测试了不同的帐户,结果相同。我也尝试过是否可以将超时设置为更长的时间,但没有效果。任何帮助将不胜感激。非常感谢你!:)

0 投票
5 回答
11569 浏览

ssh - sftp 因“消息太长”错误而失败

我的 java 程序使用 ssh/sftp 将文件传输到 linux 机器(显然......),而我这样做的库是 JSch(虽然它不是罪魁祸首)。

现在,其中一些 linux 机器具有 shell 登录启动脚本,这可悲地导致 ssh/sftp 连接失败,并显示以下消息

收到的消息太长 1349281116

在简要阅读之后,这显然是一个已知的 ssh 设计问题(不是错误 -请参见此处)。并且所有建议的解决方案都在 ssh-server 端(即禁用在 shell 登录期间输出消息的脚本)。

我的问题 - 是否可以选择在客户端避免这个问题?

0 投票
2 回答
4425 浏览

php - PHP SSH2 operations failing when attempting to upload file to server

I am currently struggling with using the SSH2 built-in libraries for PHP (running version 5.5). I am trying to upload a file to an SFTP server as the title states however I keep getting a "stream operation failed" error message.

After attempting to debug the code itself the connection works, the sftp resource is assigned an ID correctly, however when fopen is called for writing the file directly to the remote server it fails.

And finally the fopen() call:

I added debug messages in my own code to verify if the data from the _settings array is also used correctly and it is, however I can't explain the stream error.

As a note the file does not exist on the remote host but according to my knowledge 'w' mode in PHP fopen() should create the file if it does not exist.

I can't use the other PHP library as our whole project uses the builtin ssh2 libraries and the person in charged told me to not use it as it works fine everywhere else.

0 投票
2 回答
458 浏览

php - php从不同的服务器下载文件

我的应用程序在服务器 A 上,数据库在其他服务器服务器 B 上。将 mysql 输出文件放入服务器 B 的 /tmp 目录。我想在服务器 A 上使用 php 代码下载此文件

使用 mysql 选择保存在服务器 B 中的 outfile 文件,但无法从运行 php 代码的服务器 A 下载问候

0 投票
1 回答
523 浏览

php - Wordpress sftp 自动更新 - 找不到 wp-content 目录

我正在尝试在 Wordpress 上配置 sftp 自动更新。它不起作用:我总是得到“找不到 wp-content”。

我的配置如下:

  • 每个站点都有自己的用户
  • 该站点位于用户主目录下:/home/{user}/www
  • 用户被 chroot 到它的主目录:/home/{user}

sftp 对我的用户来说工作正常(使用命令行或 filezilla 等软件)。

在 wordpress 配置中,我得到了以下参数:

不幸的是,这不起作用。在更新过程中,wordpress 找不到 wp-content 目录。

问题是 ABSPATH 等于 /home/{user}/www 但通过 sftp 它应该只是 /www (由于 chrooted)。我尝试使用 FTP_BASE 配置变量,但在查看 Wordpress 代码后,看起来在 sftp 连接的情况下,它不关心 FTP_BASE 的值:(

我在网上阅读了很多关于 sftp 设置的文章,但似乎没有一篇使用 chrooted 机制。

那么有没有办法让 wordpress 自动更新适用于我的设置?

提前谢谢!!