0

我的批处理文件有问题

如果我访问:http://localhost:8080/cron/cron.php 我收到带有消息的电子邮件Yeah, message send via Gmail

这是我的cron.php

<?php   
require_once 'simplehtmldom\simple_html_dom.php';
require_once 'sites.php';
require_once 'send_mail.php';
ini_set('display_errors','on');
foreach ($site_list as $name => $link){
    $command = "C:\\Python27\\python C:\\webcheck\\webcheck.py -o C:\\wamp\\www\\cron\\reports\\$name $link";   
    $output =   shell_exec($command);   
    $log_file = "C:\\wamp\\www\\cron\\log.txt";
    $fh = fopen($log_file,'w') or die('can not open file');
    fwrite($fh, $output);
    fclose($fh);
}


/*Scan folder for reporting */
$path = 'C:\\wamp\\www\cron\\reports\\';
$msg = '';
foreach (new DirectoryIterator($path) as $fileInfo) {
    if($fileInfo->isDir() && !$fileInfo->isDot()) {
        // Do whatever
        $webcheck = $fileInfo->getFilename() ;
        $html = file_get_html($path.$webcheck.'\\badlinks.html');
        $es = $html->find('div[class="content"]', 0);
        $msg .="<h2>BADLINKS $webcheck</h2>";             
        $msg .= $es->innertext; // Some Content 
    }
}

$subj = $_subj; 
$to = $_to;
$from = $_from;
$name = $_name;

if (smtpmailer($to, $from, $name, $subj, $msg)) {
    echo 'Yeah, message send via Gmail';
} else {
    if (!smtpmailer($to, $from, $name, $subj, $msg, false)) {
        if (!empty($error)) echo $error;
    } else {
        echo 'Yep, the message is send (after doing some hard work)';
    }
}

?>

但是有了这个cron.bat

C:\wamp\bin\php\php5.3.5\php C:\wamp\www\cron\cron.php

我去cmd输入cron.bat

我收到消息Mail error: SMTP Connect() failed.

你有什么主意吗?

谢谢

4

1 回答 1

1

请记住,cron 作业将使用PHP CLI. 并且PHP CLI使用php.ini与 Apache 不同的文件。

确保您在此 other 中激活了所有必需的扩展php.ini file

我想php_smtp扩展程序没有被激活。

啊,我看到你正在使用 WAMP,所以PHP CLIphp.ini 文件的版本将在c:\wamp\bin\php\php5.x.y\php.ini.

c:\wamp\bin\apache\apache2.x.y\bin\php.ini如果您需要比较已在 Apache PHP 中激活的扩展与未在 Apache PHP 中激活的扩展,则 Apache 版本在哪里PHP CLI

于 2013-08-05T11:46:19.110 回答