Cron不会在Centos7中的PHP脚本中执行MySql

问题描述 投票:-1回答:1

您好,感谢您的关注。

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 mysql cron centos7
1个回答
0
投票

问题解决了!

希望这将对以后的人们有所帮助。事实证明,问题出在我脚本的最上方。

<?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文件。他更正了文件,然后重新开始……一切都恢复了正常。

无论如何,这让我感到难过。但是一切都很好,并且吸取了教训。别惹我老兄。谢谢大家的帮助。希望这对其他人有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.