[英]Cron won't execute MySql in PHP Script in Centos7
您好,感谢您查看此内容。
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: noreply@rbirestaurantgroup.com' . "\r\n";
$subject = "Confirming Cron-Test Is Working on PPie Server";
$to = $RECIPIENT_SET1; //attach emails to the TO field
//$to = 'apsubmit@secureserver.net';
$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 火灾的 Cron 时间比我在东海岸的时间早 3 小时。 当它早上 6 点在这里时,它是凌晨 3 点在服务器上。 我想同步它离开服务器的时间,所以我在顶部添加了上面的代码并上传了。
我在浏览器中测试了脚本,像所有其他命令一样发出了 cron 命令,并设置了早上的时间。 收工了。 早晨来了。 没有来自任何 cron 的 email 响应,也没有 SQL 插入。
然后,我尝试通过将 cron 命令设置为每 1 分钟命中一次来使用 cron 测试脚本,但它不起作用。 没有 email 响应或 SQL 插入。 什么都试过了。 不同的 cron 命令等等。 点击 Stack Overflow(这里是新手;))汗水......
在与 GoDaddy 通了几个小时的电话并完成了所有操作后,当我提到上面的代码时,代表意识到它可能对 php.ini 文件做了一些事情。 果然它以某种方式改变了它,导致当 SQL 出于某种奇怪的原因出现在脚本中时,cron 无法触发。 他说它在文件中添加了一些奇怪的字符,导致服务器回退到服务器 INI 文件。 他更正了文件,然后砰……一切都恢复了正常。
无论如何,这让我很难过。 但一切都很好,吸取了教训。 不要乱用cron。 感谢大家的帮助。 希望这对其他人有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.