[英]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.