php - Cron 不会在 Centos7 的 PHP 脚本中执行 MySql
问题描述
您好,感谢您查看此内容。
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 的电子邮件响应,也没有 SQL 插入。
然后,我尝试通过将 cron 命令设置为每 1 分钟命中一次来使用 cron 测试脚本,但它不起作用。没有电子邮件响应或 SQL 插入。什么都试过了。不同的 cron 命令等等。点击 Stack Overflow(这里是新手 ;))Sweatin...
在与 GoDaddy 通了几个小时的电话并完成所有操作后,当我提到上面的代码时,代表意识到它可能对 php.ini 文件做了一些事情。果然它以某种方式改变了它,导致当 SQL 出于某种奇怪的原因在脚本中时无法触发 cron。他说它在文件中添加了一些奇怪的字符,导致服务器回退到服务器 INI 文件。他更正了文件,然后砰……一切都恢复了正常。
无论如何,这让我很难过。但一切都很好,吸取了教训。不要乱用cron。感谢大家的帮助。希望这对其他人有帮助!
推荐阅读
- javascript - 如何用自身和一些连接替换每个正则表达式匹配?
- python - 将列从一个数据帧添加到另一个不加入
- excel - 如何使用 Select Case 插入数据行
- java - 基于数据中心的接触点上的 Cassandra 行为
- c# - 当 pdf 显示在 ios 的 Xamarin 表单 webview 中时,底部导航栏不显示
- javascript - Hyperstack中基于令牌的身份验证?
- android - 无法从 login.js 解析图像路径
- java - 请求参数并添加为会话属性
- android - 如何创建包含另一个数组的数组?
- sql - Oracle 文本中的忽略顺序包含搜索