计划任务无效

时间:2016-11-24 11:39:22

标签: php scheduled-tasks

我有一个php文件,我在其中使用ftp_get()函数。当我从服务器localhost运行它时它运行正常,但当我从计划任务运行它时,它给出了错误。这是我的代码。

<?php

$ftp_server = "IP"; 
$conn_id = ftp_connect ($ftp_server) 
or die("Couldn't connect to $ftp_server"); 

$login_result = ftp_login($conn_id, "syslog", "Gms$67"); 
if ((!$conn_id) || (!$login_result)) 
die("FTP Connection Failed"); 
ftp_pasv($conn_id, true);
echo "Start time:".date("d-m-Y h:i:sa")."<br/>";
ftp_sync (".");    // Use "." if you are in the current directory 

echo "<br/>End time:".date("d-m-Y h:i:sa")."<br/>";

ftp_close($conn_id);  

// ftp_sync - Copy directory and file structure 
function ftp_sync ($dir) { 

global $conn_id; 

if ($dir != ".") { 
    if (ftp_chdir($conn_id, $dir) == false) { 
        echo ("Change Dir Failed: $dir<BR>\r\n"); 
        return; 
    } 
    if (!(is_dir($dir))) 
        mkdir($dir); 
    chdir ($dir); 
} 

$contents = ftp_nlist($conn_id, "."); 
foreach ($contents as $file) { 

    if ($file == '.' || $file == '..') 
        continue; 

    if (@ftp_chdir($conn_id, $file)) { 
        ftp_chdir ($conn_id, ".."); 
        ftp_sync ($file); 
    } 
    else
    {

        if(ftp_get($conn_id, "files/syslog.txt", $file, FTP_BINARY))
        {
            $mbody=  nl2br(file_get_contents("files/syslog.txt"));
            //$f = fopen('files/syslog.txt', 'r+');
            //$mbody = fread($f, filesize("files/syslog.txt"));
            //fclose($f);
            $resArray = explode("\n",$mbody);
            foreach($resArray as $r) {
               $ArrayResults[] = explode(" ",$r,6);
            }

            /*echo "<pre>";
            print_r($ArrayResults);
            echo "</pre>";*/
            $fields="srdate,srtime,facility,severity,host,message";
            foreach ($ArrayResults as $rowValues) {
             //echo "vip==".$rowValues[0]."--<br/>";
             if($rowValues[0]!="")
             {
             $serarray = explode(".",$rowValues[2]);
             //echo "servi=".$serarray[1]."<br/>";
             $facility=$serarray[0];
             $severity=$serarray[1];
            /*foreach ($rowValues as $key => $rowValue) {
                     $rowValues[$key] = mysql_real_escape_string($rowValues[$key]);
                }*/
                $rowValues1[0] = mysql_real_escape_string($rowValues[0]);
                $rowValues1[1] = mysql_real_escape_string($rowValues[1]);
                $rowValues1[2] = mysql_real_escape_string($facility);
                $rowValues1[3] = mysql_real_escape_string($severity);
                $rowValues1[4] = mysql_real_escape_string($rowValues[3]);
                $rowValues1[5] = mysql_real_escape_string($rowValues[5]);
            $values[] = "('" . implode('\', \'', $rowValues1) . "')";
            unset($serarray);
            }
            }
            include("config.php");
             $query = "INSERT INTO syslogtbl ($fields) VALUES " . implode (', ', $values) . "";
            if(mysql_query($query))
            {
             echo "Successfully Insert to Database.";
            }
            else
            {
             echo "<br/>Error in insert syslog".mysql_error();;
            }
        } 
        else
        {
          echo "Error downloading $server_file.";
        } 
    }   
} 

ftp_chdir ($conn_id, ".."); 
chdir (".."); 

} 

?>

当我从计划任务运行时,它显示没有任何错误,但输出中没有任何变化(它必须改变)。然后我从批处理文件运行文件,它在命令提示符中显示错误。

C:\script>C:\wamp\bin\php\php5.5.12\php.exe  C:\wamp\www\syslog\schedule_readtxt.php
Start time:24-11-2016 12:33:41pm<br/>
Warning: ftp_get(files/syslog.txt): failed to open stream: No such file or directory in C:\wamp\www\syslog\schedule_readtxt.php on line 69

Call Stack:
0.0000     250200   1. {main}() C:\wamp\www\syslog\schedule_readtxt.php:0
0.0156     259928   2. ftp_sync() C:\wamp\www\syslog\schedule_readtxt.php:35

0.0156     261832   3. ftp_get() C:\wamp\www\syslog\schedule_readtxt.php:69


Warning: ftp_get(): Error opening files/syslog.txt in C:\wamp\www\syslog\schedul
e_readtxt.php on line 69

Call Stack:
0.0000     250200   1. {main}() C:\wamp\www\syslog\schedule_readtxt.php:0
0.0156     259928   2. ftp_sync() C:\wamp\www\syslog\schedule_readtxt.php:35

0.0156     261832   3. ftp_get() C:\wamp\www\syslog\schedule_readtxt.php:69


Notice: Undefined variable: server_file in C:\wamp\www\syslog\schedule_readtxt.p
hp on line 118

Call Stack:
0.0000     250200   1. {main}() C:\wamp\www\syslog\schedule_readtxt.php:0
0.0156     259928   2. ftp_sync() C:\wamp\www\syslog\schedule_readtxt.php:35


Error downloading .<br/>End time:24-11-2016 12:33:41pm<br/>
C:\script>pause
Press any key to continue . . .

我不知道如何从计划任务运行此脚本。请帮帮我。

0 个答案:

没有答案