Vanderlan 2 Denunciar post Postado Outubro 7, 2015 Pessoal, Configurei uma tarefa no CRON do Hostgator e estou recebendo essa mensagem ao ser executada a tarefa. O arquivo encontra-se com autorização 755. Alguém por favor poderia me auxiliar? /home/user/public_html/rotina/alerta_prazo.php: line 1: ?php: No such file or directory/home/user/public_html/rotina/alerta_prazo.php: line 3: require: command not found/home/user/public_html/rotina/alerta_prazo.php: line 4: require: command not found/home/user/public_html/rotina/alerta_prazo.php: line 8: =: command not found/home/user/public_html/rotina/alerta_prazo.php: line 13: syntax error near unexpected token `('/home/user/public_html/rotina/alerta_prazo.php: line 13: `$PDO = db_connect();' Compartilhar este post Link para o post Compartilhar em outros sites
mruoppolo 14 Denunciar post Postado Outubro 7, 2015 Posta o código do arquivo alerta_prazo pra gente ver Compartilhar este post Link para o post Compartilhar em outros sites
Vanderlan 2 Denunciar post Postado Outubro 7, 2015 Segue. <?php require 'init.php'; require 'PHPMailer/PHPMailerAutoload.php'; $sql = "SELECT c.titulo, c.fiscal, c.eps, c.datacontratacao, c.prazoobra, u.email FROM controle c LEFT JOIN usuarios u ON u.nome = c.fiscal WHERE FLOOR(DATEDIFF(STR_TO_DATE(c.prazoobra, '%d/%m/%Y'), CURRENT_DATE())) = FLOOR(DATEDIFF(CURRENT_DATE(), STR_TO_DATE(c.datacontratacao, '%d/%m/%Y')))"; $PDO = db_connect(); $exec = $PDO->query($sql); if (!$exec) { print_r($PDO->errorInfo()); exit; } $rows = $exec->fetchAll(PDO::FETCH_ASSOC); foreach ($rows as $row) { $emails = array(); $emails[] = 'pedromakegam@hotmail.com'; $emailBody = " <p>A obra " . $row['titulo'] . ", do fiscal " . $row['fiscal'] . " e da EPS " . $row['eps'] . " chegou à metade do prazo.</p> <p>Data de contratação: " . $row['datacontratacao'] . "</p> <p>Data de contratação: " . $row['prazoobra'] . "</p> "; $emailAltBody = strip_tags(nl2br($emailBody)); $subject = sprintf("Obra '%s' Chegou ao Meio do Prazo", $row['titulo']); if (!empty($row['email'])) { $emails[] = $row['email']; } if (($error = sendEmail($subject, $emailBody, $emailAltBody, $emails)) !== true) { echo "Erro ao enviar email sobre obra " . $row['titulo'] . ': ' . $error . PHP_EOL; } echo $emailBody; echo "Email enviado para: " . print_r($emails, true) . PHP_EOL; echo "<br><br>=======================<br><br>"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Outubro 7, 2015 O erro não é no script, é na forma como agendou a tarefa. Você colocou só o path ao script. Isso faz o Bash pensar que ele mesmo deve executar o script (só funcionaria se fosse um Shell Script, não um PHP) Você deve agendar usando o interpretador PHP: * * * * * php /path/ao/scripr.php Veja: http://www.vivaolinux.com.br/dica/Agendamento-de-tarefas-no-Linux-(cron-e-at) Compartilhar este post Link para o post Compartilhar em outros sites