我正在尝试连接到一个ssh2_php扩展的sftp服务器。这个连接在一个简单的php脚本中工作得很好,但是当我把它带到一个空白的laravel项目中的控制器时,相同的代码就不能工作了。
这是控制器的代码
<?php
namespace App\Http\Controllers;
use Illuminate\Routing\Controller as BaseController;
class Controller extends BaseController
{
public function test() {
try {
$ss
-原始消息-
我需要访问SFTP服务器,但是PHP服务器并没有直接连接到internet。我认为通过SSH隧道连接。
AppServer → AdminServer → SFTP
My PHP Server → SSH connection through server → An external SFTP server
但我不明白如何为SFTP 帐户设置身份验证。
我的代码:
<?php
$connection = ssh2_connect("172.16.0.2", 22); // Admi
我想连接到sftp服务器。我使用的代码是..
$connection = ssh2_connect('hostip');
if (!ssh2_auth_password($connection, 'username', 'password')) {
throw new Exception('Unable to connect.'); }
if (!$sftp = ssh2_sftp($connection)) {
throw new Exception('Unable to create SFTP connection.&
我无法让运行Win7 12的本地环境连接到我的服务器ubuntu11.04。
我通过sftp连接我的服务器,使用filezilla fine,我可以通过ssh连接到我的服务器,通过putty罚款.服务器现在不需要任何密钥,只需要一个名字和pword.
我不明白,我通过php脚本传递的细节与我从filezilla和putty传递的内容完全相同。
这是剥离到基本代码的代码:
//inlcude the phpseclib path in the include array and include the ssh2 class
set_include_path( WEBROOT_PRIVATE.
所以,它所做的就是成功地连接,然后上传文件logo.png,但是如果我使用html上传代码,文件的内容不是web主机上的内容,也不是用html上传的内容。它放在文件中的是第二个文件之间的实际文本,所以对于这个例子,logo.png的内容实际上是logo.png,而不是图片。
require_once("ftp/vendor/autoload.php");
use phpseclib\Net\SFTP;
$sftp = new SFTP('SERVER');
if (!$sftp->login('USER', 'PW')