使用phpseclib通过sftp上传时,远程文件有0个字节

时间:2013-04-22 13:35:23

标签: php cron sftp phpseclib

我有运行xampp(1.7.7)的Server 2008 R2。 我尝试使用sftp和phpseclib。 当我手动加载php页面时,一切正常。 当通过cronjob加载页面时,我在远程计算机上获得0字节文件。

这是php代码:

$sftp = new Net_SFTP('remote.server');
if (!$sftp->login('user', 'password')) {
    exit('Login Failed');
}
$sftp->put($filename.".DAT", $filename.".DAT", NET_SFTP_LOCAL_FILE);

这里是cronjob的.bat:

@E:\WSERVER\xampp\php\php.exe -f E:\WSERVER\xampp\htdocs\sites\anq\file.php

可能是什么问题? 无论哪种方式本地文件都很好......

关于j

1 个答案:

答案 0 :(得分:0)

Net_SFTP :: put()调用的第二个参数如下:

$filename.".DAT"

我的猜测是,这是一个相对路径,并且cron作业(或Windows Scheduler任务)正在耗尽的目录与手动运行时的目录不同。

即。解决方案是使第二个参数成为文件位置的绝对路径。