簡體   English   中英

從外部啟動PHP腳本的MYSQL觸發器

[英]MYSQL trigger that externally launches a PHP script

我目前正在嘗試使用mysql觸發器來啟動php腳本。 啟動時,腳本將從特定網站檢索數據,並將其放入另一個表中。 我已經測試了腳本,當我使用php5運行它時,它當前有效。 我也正確安裝了lib_mysqludf_sys,並將正確的文件夾移動到mysql的插件文件夾中。 當我創建觸發器時,我沒有收到任何錯誤。 它只是不會運行我的PHP腳本。 我哪里出錯了,我怎么能解決它?

DELIMITER $$
CREATE TRIGGER getFriends
    -> AFTER INSERT ON tbluser
    -> FOR EACH ROW    
    -> BEGIN
    ->   DECLARE RESULT INT;
    ->   SET RESULT = sys_exec('php5 /var/www/html/getFriends.php');
    ->END$$;
DELIMITER ;

確認您使用的是正確的插件文件夾:

SHOW VARIABLES LIKE 'plugin_dir';

重新創建功能:

DROP FUNCTION IF EXISTS sys_exec;
CREATE FUNCTION sys_exec RETURNS int SONAME 'lib_mysqludf_sys.so';

確保您使用可執行文件的完整路徑:

SET RESULT = sys_exec('/usr/bin/php5 /var/www/html/getFriends.php');

並確保運行MySQL的用戶具有訪問此腳本的權限,並執行其正在執行的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM