PHP脚本是否有可能将一段代码插入数据库,然后某种守护进程看到它被放入,然后运行代码?有点像cron工作或工作队列。
答案 0 :(得分:2)
从技术上讲,你可以做到。代码应存储在TEXT列中,然后您可以使用eval
对其进行评估:http://es.php.net/manual/en/function.eval.php
由于以下几个原因,这不是一个好主意:存储在数据库中的代码不受版本控制,并且安全隐患非常严重。大多数作业队列系统存储“作业类型”和“作业参数”而不是可执行代码。作业类型可以是要包含的文件的名称,也可以是要在OOP设置中实例化的类的名称。然后你会调用那里定义的特定函数,传入参数。
如果您使用serialize
函数将其首先变为字符串,则作业参数可以是任何PHP数据结构。 http://es.php.net/manual/en/function.serialize.php