Мне нужно ежедневно запускать хранимую процедуру MySQL. Я делаю это вручную сейчас из Workbench. Я хотел бы автоматизировать этот процесс. Запуск его как запланированных событий в MySQL phpMyAdmin мне недоступен. GoDaddy предлагает команду cron job внутри cPanel, которая может запускать скрипт php. Я исследовал все, что мог, но не могу найти правильную комбинацию для этой работы. Излишне говорить, что я новичок в этом. Код php был заимствован из онлайновых руководств по кодированию.
Единственное, что я уверен в том, что касается кода, - это вызов функции хранимой процедуры, которую я запускаю из Workbench. Хранимая процедура принимает несколько сложных запросов и создает таблицы stati c, к которым обращаются пользователи во внешнем интерфейсе. И я знаю, как установить время выполнения задания cron, без проблем.
Подскажите, пожалуйста, что мне нужно изменить, чтобы заставить работать функцию вызова?
Команда задания cPanel cron строка читает:
/usr/bin/php -q /home/USERNAME/public_html/cron/sp_run.php
Файл сценария php читает:
<?php
$host = 'localhost';
$username = 'USERNAME';
$password = 'PASSWORD';
$dbname = 'DBNAME';
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
// assign the execute stored procedure to the variable
$sql = 'CALL DBNAME.sp_make_tables()';
// execute the stored procedure
$q = $pdo->query($sql);
$q->setFetchMode(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
die("Error occurred:" . $e->getMessage());
}
?>
Версии моего общего сервера приложений:
cPanel Версия 78.0 (сборка 38)
Apache Версия 2.4.41
PHP Версия 5.6.40
MySQL Версия 5.6.46-cll-lve
Архитектура x86_64
Операционная система linux
Спасибо за любую помощь, которую вы можете предложить.