0

我有运行 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

4

1 回答 1

0

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

$filename.".DAT"

我的猜测是,这是一个相对路径,并且 cron 作业(或 Windows 调度程序任务)运行的目录与手动运行时的目录不同。

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

于 2013-04-22T15:56:06.733 回答