disable_functions php.ini eval函数仍然有效

时间:2013-12-19 15:22:03

标签: php eval

我试图在我的php中禁用某些功能时遇到了一些问题。 首先,我不是服务器的所有者,所以我无法更改主php.ini配置。但我试图用服务器所有者给我的指令来改变它。

这是我在我创建的php.ini文件中放入的行

disable_functions=eval,exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

在我的phpinfo()我可以看到本地值和主值,这些功能被禁用。

但我的问题从这里开始。 在同一个文件中我运行phpinfo()我可以确认该功能应该被禁用,我运行eval()shell_exec()以及eval()仍然工作但shel_exec()被禁用。

为什么我无法停用eval()

2 个答案:

答案 0 :(得分:12)

eval是一种语言结构,而不是一种功能,所以它无法被禁用。有关详细信息,请参阅http://www.php.net/eval

答案 1 :(得分:0)

您可以尝试构建https://github.com/mk-j/PHP_diseval_extension以禁用eval。