我遇到了一个小问题,试图禁用我的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()**?**
发布于 2014-02-12 06:18:19
eval是一个语言结构,而不是一个函数,因此不能禁用它。有关更多信息,请参见http://www.php.net/eval。
发布于 2017-10-06 17:45:23
您可以尝试构建extension来禁用eval。
https://stackoverflow.com/questions/20685367
复制相似问题