方法一:PHP_diseval_extension禁用
Linux CentOS 禁用php的eval函数详细图文教程_centos php 禁用 eval-CSDN博客
这个方法make报错,懒得费时间处理,直接用第二种
方法二:suhosin禁用
服务器只装了一个PHP5.6版本,一定要安装对应的suhosin-0.9.38版本,
测试成功是 php5.x: wget https://download.suhosin.org/suhosin-0.9.38.tar.gz
之前安装suhosin-0.9.33版本,怎么样都make不上,
一、安装Suhosin
cd /usr/local/src #进入软件包存放目录
wget http://download.suhosin.org/suhosin-0.9.38.tgz #下载
tar zxvf suhosin-0.9.38.tgz #解压
cd suhosin-0.9.38 #进入安装目录
/usr/local/php/bin/phpize #用phpize生成configure配置文件
./configure --with-php-config=/usr/local/php/bin/php-config #配置
make #编译
make install #安装
安装成功
二、在php.ini下加入suhosin.so即可
extension=suhosin.so
suhosin.executor.disable_eval = on
三、测试确定是禁止,运行下面代码,
<?php
eval("echo'hello world';");
?>
如果能输出:hello world,说明没有禁用,
如果网页什么都看不到,报错,说明正确,禁用了
四、重启php-fpm服务即可
service php-fpm restart