Я хочу вызвать и выполнить скрипт PHP из процедуры MySQL. Это возможно?
CREATE PROCEDURE simpleproc (OUT param1 INT) BEGIN Call my php script here END//
[РЕДАКТИРОВАТЬ]
На самом деле я пытаюсь поднять событие, когда выполняется условие – например, когда значение поля таблицы совпадает с текущим временем. Затем я хочу захватить событие и отправить электронное письмо.
Возможно, см. MySQL FAQ для объяснения того, как
Может ли триггер вызвать внешнее приложение через UDF?
Но это может быть плохой дизайн с вашей стороны, если вам нужно прибегнуть к этому
DELIMITER @@ CREATE TRIGGER Test_Trigger AFTER INSERT ON MyTable FOR EACH ROW BEGIN DECLARE cmd CHAR(255); DECLARE result int(10); SET cmd=CONCAT('/usr/bin/php ', '/home/test/beta/demo.php'); SET result = sys_exec(cmd); END; @@ DELIMITER ;
источник
Для решения вашей проблемы вы можете создать таблицу для задач. Из хранимой процедуры вы можете поместить в эту таблицу любую строку для задачи. На сервере вы можете запустить PHP-скрипт crontab. Сценарий проверяет эту таблицу и выполняет некоторую операцию.