共计 414 个字符,预计需要花费 2 分钟才能阅读完成。
说明
eval
函数是通过 zend
来实现的,不能用 php.ini
直接关闭掉,可以利用安装 Suhosin
扩展来禁用 eval
函数。
选择扩展版本并下载
编译安装扩展
切换到扩展源码根目录依次执行
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
- 说明:
/usr/local/php/bin/phpize
是phpize
的路径/usr/local/php/bin/php-config
是php-config
的路径
配置
编辑 PHP 的配置文件
查看模块是否加载成功
php -m
如果出现 suhosin
或 suhosin7
则表示模块加载成功
eval%20%E5%87%BD%E6%95%B0″ class=”reference-link” href=”#”> 测试是否可执行 eval
函数
新建文件 a.php
, 加入下面的代码
'value1','key2'=>'value2','key3'=>'value3','key4'=>'value4')";
$arr = eval("return $data;");
var_dump($arr);
保存文件,然后执行
php a.php
如果出现下面的错误,则表示禁用成功!
PHP Fatal error: SUHOSIN - Use of eval is forbidden by configuration in a.php(4) : eval()'d code on line 1
标签:php
文章来源: PHP 安装 Suhosin 扩展禁用 eval 函数
正文完