Я запускаю Uniform Server Zero XIV и пытаюсь использовать cron для запуска php-скрипта каждые 15 минут. При ручном запуске скрипт делает то, что должен, то есть обновляет значения в базе данных. Однако cron, похоже, никогда не выполняет скрипт.
Журнал cron показывает, что crontab имеет правильный путь и выполняется.
06.10.2021 12:53:08 - Выполнить OK --- C:\Users\myuser\Zero\UniServerZ\www\database\cronUpdate.php
Конфигурация cron использует абсолютный путь.
[Обновить]
начало = 2021-05-14 8:00:00
период = 300
путь = \www\база данных\cronUpdate.php
ссылка = 1623329287
Вот файл php, который я пытаюсь выполнить. По сути, он извлекает все имена хостов из базы данных mysql и отправляет их в функцию обновления. Функция обновления извлекает информацию API о единицах измерения и соответствующим образом обновляет базу данных mysql без возврата.
include_once '../база данных/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, $fields);
$cResult = curl_exec($ch);
curl_close ($ ч);
Я пытался использовать URL-адрес в конфигурации, но это тоже не работает. Я также пробовал записывать файл обновления в журнал выполнения, и ничего не записывается, что говорит мне о том, что cron не может выполнить этот скрипт. Любые идеи о том, почему cron не может выполнить этот скрипт? Стоит ли писать этот скрипт на другом языке?
Для записи сервер работает под управлением php 8.0.3 и mysql 8.0.23.