- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试触发 Laravel 控制台 PHP 命令以将每个插入的行推送到我的客户端 UI,但是在安装 lib_mysqludf_sys 之后该过程似乎不起作用。 sys_exec()/sys_eval() 支持的库。
环境是Laravel Homestead Vagrant VM .这是运行 Ubuntu 14.04.3 和 MySQL 5.6.19-0ubuntu0.14.04.1。我还编译并成功安装了 lib_mysqludf_sys 库。
有谁知道如何进一步解决这个问题?
DELIMITER $$
DROP PROCEDURE IF EXISTS homestead.debug_msg$$
DROP PROCEDURE IF EXISTS homestead.sessionActivity$$
CREATE PROCEDURE homestead.debug_msg(enabled INTEGER, msg VARCHAR(255))
BEGIN
IF enabled THEN BEGIN
select concat("** ", msg) AS '** DEBUG:';
END; END IF;
END $$
CREATE PROCEDURE homestead.sessionActivity(id BIGINT)
BEGIN
IF id THEN BEGIN
DECLARE cmd CHAR(255);
DECLARE result CHAR(255);
SET cmd = CONCAT('/usr/bin/php /home/vagrant/Code/Laravel/artisan session:push ', id);
SET result = sys_eval(cmd);
#####SET result = sys_exec(cmd);
call debug_msg(TRUE,cmd);
#####call debug_msg(TRUE,result);
END; END IF;
END$$
DELIMITER ;
这里运行 debug_msg 显示 cmd 变量:
mysql> CALL homestead.sessionActivity(74499);
+--------------------------------------------------------------+
| ** DEBUG: |
+--------------------------------------------------------------+
| ** php /home/vagrant/Code/Laravel/artisan session:push 74499 |
+--------------------------------------------------------------+
1 row in set (0.00 sec)
手动运行良好:
root@homestead:~# php /home/vagrant/Code/Laravel/artisan session:push 74499
string(259) "new line: some shit eol"
root@homestead:~#
这里运行时使用 debug_message 显示结果变量,使用 sys_exec(),但是同样,PHP 命令没有运行,并且没有其他输出或日志记录显示错误(这里的 sys_eval() 而不是 sys_exec() 输出将是空):
mysql> CALL homestead.sessionActivity(74499);
+-----------+
| ** DEBUG: |
+-----------+
| ** 32512 |
+-----------+
1 row in set (0.01 sec)
奇怪的是,虽然 lib_mysqludf_sys 安装创建了函数,但它们并没有显示在 show function status 中。我不确定这是否相关。
mysql> CREATE FUNCTION lib_mysqludf_sys_info RETURNS string SONAME 'lib_mysqludf_sys.so';
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE FUNCTION sys_get RETURNS string SONAME 'lib_mysqludf_sys.so';
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE FUNCTION sys_set RETURNS int SONAME 'lib_mysqludf_sys.so';
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE FUNCTION sys_exec RETURNS int SONAME 'lib_mysqludf_sys.so';
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE FUNCTION sys_eval RETURNS string SONAME 'lib_mysqludf_sys.so';
Query OK, 0 rows affected (0.00 sec)
mysql> show function status;
Empty set (0.01 sec)
mysql>
最佳答案
在这种情况下,lib_mysqludf_sys
调用被 Apparmor 阻止。快速 aa-complain/usr/sbin/mysqld
解决了这个问题。
关于php - 带有 sys_exec() 的 MySQL 过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32978203/
我正在使用 MySQL UDF 函数 sys_exec 在 MySQL 触发器中调用 Java 程序。您能否提供有关我如何将参数传递给 sys_exec 以便它调用 Java 程序的信息? 最佳答案
我有一个触发器调用带有参数的存储过程,该参数调用 SET result = sys_exec(cmd);。但它给出了错误“函数 sys_exec 不存在”。 我不知道该怎么办,周二我有演示文稿,由于这
问题:如何使用 sys_exec() 终止进程。 我正在尝试使用 sys_exec() 执行 shell 脚本。 我的 shell 脚本包含 killall process_name 当我执行上面的脚
我正在使用 godaddy 共享主机并尝试调用放置在同一服务器上的 PHP 来完成此操作我已经为相应的表创建了一个触发器,下面是代码 DELIMITER @@ CREATE TRIGGER my_tr
我在/usr/esercizi/上的 python 是: #!/usr/bin/python import datetime now = datetime.datetime.now() aa = no
我正在尝试触发 Laravel 控制台 PHP 命令以将每个插入的行推送到我的客户端 UI,但是在安装 lib_mysqludf_sys 之后该过程似乎不起作用。 sys_exec()/sys_eva
问题:我有一个包含某些记录的表。插入完成后,我想通过 MySQL 的 sys_* UDF 调用外部程序(php 脚本)。现在,问题 - 我已经将记录的 ID 传递给脚本的触发器。当我尝试通过脚本提取数
我已经在我的小型测试服务器上运行了 Windows 上的 sys_exec,并确认我可以通过运行 SELECT sys_exec('dir > c:\\tst\\out.txt') FROM dual
我正在尝试从 MariaDB 服务器运行 python 脚本。我已经为此安装了 mysqludf 库。我尝试使用 sys_exec 函数运行脚本,但没有结果。我创建了测试文件,它只是一个包含信息“完成
在 tbl_produk 上插入后,我在 mysql triger 中使用这个脚本 FOR EACH ROW BEGIN DECLARE cmd CHAR(255); DECLARE result I
我正在使用 phpmyadmin。我在 mysql 中使用触发器,它在表中插入内容后调用 php 脚本。我的触发器包含这个。 DECLARE result INT; SET result=(selec
我需要从触发器调用外部脚本来拦截数据库中的每个插入。这是因为我无法轮询该值,所以我正在为具有 ARM 架构且只有 250MB RAM 的嵌入式系统编写代码。触发器是正确的选项,并且触发器的代码运行良好
我正在尝试使用 sys_exec 在 unix 上运行 native 命令,但我已尝试将插件从 https://github.com/mysqludf/lib_mysqludf_sys 放入 进入 /
我是一名优秀的程序员,十分优秀!