预定的PHP脚本无法正常工作

时间:2016-05-27 14:09:41

标签: php windows scheduled-tasks sftp

我想每隔10分钟安排在php中执行一个脚本。

这个PHP脚本

  1. 使用ftp_get
  2. 连接到FTP服务器并下载一些XML文件
  3. 移动该FTP服务器中存档文件夹中下载的所有文件(关闭连接) THEN
  4. 在本地转换中,txt中的xml(使用fopen,fwrite,fclose)将XML放在本地存档文件夹中
  5. 连接到SFTP服务器并发送(使用sftp put函数)重命名的文本
  6. 我包括('Net / SFTP.php');一个连接SFTP的库。

    我用作服务器XAMPP,我将我的php脚本存储在htdocs下的文件夹中,也是一个cmd批处理文件。 我使用此代码

    创建了一个带有Windows调度程序的计划
    C:\xampp\php\php.exe -f C:\xampp\htdocs\testSftp\catchXML_FTP_V4.php
    

    问题是,如果我使用broswer手动执行一切都很好,但是当使用调用批处理文件(cmd)的调度程序执行脚本时,它只执行脚本的1和2点,只执行了两次

    这是如何造成的?我该如何解决?

1 个答案:

答案 0 :(得分:0)

当您使用包含文件的相对路径时,请确保计划任务的起始目录是脚本目录。

因为默认情况下它将是php.exe目录C:\xampp\php,其中Net/SFTP.php不是有效路径。