Я использую phpmyadmin. Я использую триггер в mysql, который вызывает php-скрипт после вставки чего-либо в таблицу. Мой триггер содержит это.
DECLARE result INT; SET result=(select sys_exec('C:/xampp/php/php.exe C:/xampp/htdocs/mysite/hello.php'));
Но я получил эту ошибку, пытаясь вставить что-то в таблицу.
#1305 FUNCTION db.sys_exec does not exists
(мое имя базы данных – db) Помогите мне с этим. Спасибо.
sys_exec
не является стандартной функцией mysql. Он предоставляется внешним плагином UDF и должен быть установлен отдельно: https://github.com/mysqludf/lib_mysqludf_sys#readme
В системе Linux Ubuntu и нескольких других дистрибутивах серверный сервер mysql содержит apparmor, который ограничивает функции UDF.
Остановить приступ
sudo service apparmor stop
Проверить статус апертур
sudo service apparmor status
Даже если вы получите ту же ошибку, перезапустите службу mysql
Перезапустить mysql
sudo service mysql restart