ฉันใช้ Uniform Server Zero XIV และพยายามใช้ cron เพื่อเรียกใช้สคริปต์ php ทุก ๆ 15 นาที เมื่อรันด้วยตนเอง สคริปต์จะทำในสิ่งที่ควรทำ ซึ่งก็คือการอัปเดตค่าในฐานข้อมูล อย่างไรก็ตาม cron ดูเหมือนจะไม่เคยรันสคริปต์เลย
บันทึก cron ระบุว่า crontab มีเส้นทางที่ถูกต้องและกำลังดำเนินการ
10/06/2021 12:53:08 - รันได้ --- C:\Users\myuser\Zero\UniServerZ\www\database\cronUpdate.php
การกำหนดค่า cron กำลังใช้เส้นทางที่แน่นอน
[อัปเดต]
เริ่มต้น = 2021-05-14 8:00:00 น
งวด = 300
เส้นทาง = \www\database\cronUpdate.php
อ้างอิง = 1623329287
นี่คือไฟล์ php ที่ฉันพยายามดำเนินการ โดยพื้นฐานแล้วจะเป็นการดึงชื่อโฮสต์ทั้งหมดในฐานข้อมูล mysql และส่งไปยังฟังก์ชันอัปเดต ฟังก์ชันอัพเดทดึงข้อมูล API เกี่ยวกับหน่วยและอัพเดทฐานข้อมูล mysql ตามนั้น โดยไม่มีผลตอบแทน
include_once '../database/dbh.php';
# รับชื่อโฮสต์ทั้งหมด
$sql = "เลือกชื่อโฮสต์จากหน่วย;";
$result = mysqli_query($conn, $sql);
ในขณะที่ ($ แถว = mysqli_fetch_array (ผลลัพธ์ $)) {
# เพิ่มหน่วยทั้งหมดใน formdata ที่จะส่ง
$data['formData'][] = $row['ชื่อโฮสต์'];
}
$fields = http_build_query($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/database/dbUpdate.php");
curl_setopt($ch, CURLOPT_POST, จริง);
curl_setopt($ch, CURLOPT_POSTFIELDS, $ฟิลด์);
$cResult = curl_exec($ch);
curl_close($ch);
ฉันได้ลองใช้ url ในการกำหนดค่า แต่ก็ไม่ได้ผลเช่นกัน ฉันได้ลองให้ไฟล์อัปเดตเขียนลงในบันทึกการดำเนินการและไม่เคยเขียนอะไรเลย ซึ่งบอกฉันว่า cron ไม่สามารถเรียกใช้สคริปต์นี้ได้ มีความคิดใด ๆ เกี่ยวกับสาเหตุที่ cron ไม่สามารถเรียกใช้สคริปต์นี้ได้ มันจะคุ้มค่าไหมที่จะเขียนสคริปต์นี้เป็นภาษาอื่น?
สำหรับบันทึกเซิร์ฟเวอร์กำลังเรียกใช้ php 8.0.3 และ mysql 8.0.23