我在ubuntu12.04上以Apache 2.4模块运行PHP5.6
Suhosin是从源安装的
Suhosin已启用,我可以在phpinfo()函数输出中看到它。
我在suhosin.ini中有以下几行:
suhosin.executor.disable_eval = On
suhosin.executor.disable_emodifier = On
我也可以在phpinfo()中看到它们已启用。全局和本地。
但由于某种原因很简单
eval('echo 5;');
只是告诉我该死的“5”!
一样
preg_replace("/.*/e", "eval('echo 5, PHP_EOL;')", ".");
我如何启用该suhosin?
最佳答案
您必须在phpinfo()
中检查suhosin.executor.disable_eval
和suhosin.executor.disable_emodifier
行的本地和主值,以确保正确读取配置文件,而不仅是为了激活suhosin。
这些指令的本地值应设置为“On”。
如果本地关闭,而主服务器打开,则您的虚拟主机配置可能会覆盖此参数。如果两个都关闭,则说明您的suhosin.ini没有正确解析
您还必须检查suhosin.simulation
( Debug模式)是否设置为Off
。