您好,感谢您的关注。
Cron Jobs今天早上没有执行,因为他们发送电子邮件,而我没有收到。在GoDaddy运行Centos 7。
这里是cron命令...
/ usr / local / bin / ea-php56 /home/rbigroup/public_html/cron/cron-test.php> / dev / null 2>&1
[在浏览器中测试脚本时,工作正常。但是,当我在脚本中删除MySql时,Cron可以正常工作。
我完全感到慌乱。任何帮助都非常感谢!感谢您的宝贵时间!
这是PHP代码...
<?php require $_SERVER['DOCUMENT_ROOT']."/Connections/connect.php"; ?><?php include "cron-recipients.php"; ?>
<?php
echo $_SERVER['DOCUMENT_ROOT'];
$date = date('Y-m-d',$date_start);
echo $date."<br>";
mysqli_select_db($db);
$insertSQL = sprintf("INSERT INTO test_table (text_field,`date_field`) VALUES ('Hello','$date')");
echo $insertSQL."<br>";
$Result1 = mysqli_query($db,$insertSQL) or die(mysqli_error($db));
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: [email protected]' . "\r\n";
$subject = "Confirming Cron-Test Is Working on PPie Server";
$to = $RECIPIENT_SET1; //attach emails to the TO field
//$to = '[email protected]';
$message = '<html>
<head>
<title>Cron Report</title>
</head>
<body><h2>Cron Test</h2>
Your test works.
</body>
</html>';
mail($to, $subject, $message, $headers);
echo "Cron Tester Complete"."<br>";
echo $to;
?>
问题解决了!
希望这将对以后的人们有所帮助。事实证明,问题出在我脚本的最上方。
<?php date_default_timezone_set('America/New_York'); ?>
我添加了它是因为我注意到GoDaddy的Crons发生火灾的时间比我在东海岸的时间早了3个小时。凌晨6点在服务器上,凌晨3点在服务器上。我想同步它离开服务器的时间,所以我在上面添加了上面的代码并上传了。
我在浏览器中测试了脚本,像其他所有命令一样,执行了cron命令,并设置了早上的时间。叫做一天。早上来了。没有来自任何cron的电子邮件回复,也没有SQL插入。
然后,我尝试通过将cron命令设置为每1分钟命中一次,以cron测试脚本,但该脚本无法正常工作。没有电子邮件回复或SQL插入。尝试了一切。不同的cron命令,没有。点击堆栈溢出(这里是新手总数;)Sweatin ...
在与GoDaddy通话了几个小时并进行了所有操作之后,该代表意识到当我提到上述代码时,它可能对php.ini文件做了一些处理。果然,它以某种方式对其进行了更改,导致由于某种奇怪的原因,当脚本中包含SQL时,cron无法启动。他说,它在文件中添加了一些奇怪的字符,导致服务器仅使用服务器INI文件。他更正了文件,然后重新开始……一切都恢复了正常。
无论如何,这让我感到难过。但是一切都很好,并且吸取了教训。别惹我老兄。谢谢大家的帮助。希望这对其他人有帮助!