有没有办法从php内部在沙箱中执行php代码

2022-08-30 19:16:50

我想从php执行一个php脚本,它将使用不同的常量和不同版本的已经定义的类。

有没有一个沙盒php_module,我可以:

sandbox('script.php'); // run in a new php environment

而不是

include('script.php'); // run in the same environment

还是proc_open()是唯一的选择?

PS:该脚本无法通过Web访问,因此fopen('http://host/script.php')不是一个选项。


答案 1

runkit,但你可能会发现,如果你不需要在主进程和子进程之间进行任何交互,则只需通过命令行调用脚本(使用 shell_exec)会更简单。


答案 2

这是GitHub上的一门课程,可能会有所帮助,早期阶段,但看起来很有希望。

https://github.com/fregster/PHPSandbox


推荐