1、

/var/log/messages 频繁报错:

Jul  :: localhost suhosin[]: ALERT - script tried to increase memory_limit to  bytes which is above the allow
ed value (attacker '14.215.58.244', file '/home/www/bbsphp/index.php', line )

查看/home/www/bbsphp/index.php,发现有以下语句:

ini_set("memory_limit","500M");

查看php.ini :

# grep 'suhosin.memory_limit' /usr/local/php/etc/php.ini
suhosin.memory_limit = 128M

解决方法:

修改php.ini :

suhosin.memory_limit = 640M  或  memory_limit = 640M

2、

/var/log/messages 频繁报错:

Jul  :: localhost suhosin[]: ALERT - configured request variable name length limit exceeded - dropped variable 'Mozill
a/5_0_(iPhone;_CPU_iPhone_OS_9_3_2_like_Mac_OS_X)_AppleWebKit/601_1_46_(KHTML,_like_Gecko)_Mobile/13F69;com_chw_appking/18touch_com/tq3_0/dis:AppStore:1_5' (attacker '175.44.219.89', file '/home/www/index.php')

解决:

在php.ini的 [suhosin] 下添加以下三行:

suhosin.request.max_varname_length =
suhosin.get.max_name_length =
suhosin.post.max_name_length =

suhosin配置,官方说明:http://www.suhosin.org/stories/configuration.html

3、禁止eval函数

网上说使用disable_functions 禁止掉eval函数,但是这种禁止是无法生效的。
php的eval函数并不是系统组件函数,因此我们在php.ini中使用disable_functions是无法禁止它的。

那么php怎么禁止eval呢?

如果想禁掉eval可以用php的扩展 Suhosin

、安装Suhosin扩展
、在php.ini中加入:extension=suhosin.so
、在加上:suhosin.executor.disable_eval = on
、重启php-fpm服务

注意,当禁止eval函数后,有些系统会出现以下错误:

Fatal error: SUHOSIN - Use of eval is forbidden by configuration in /home/wp-includes/classes.php() : eval()'d code on line 219

php 扩展 suhosin 配置不当引发的报错及其解决方法的更多相关文章

  1. 网站eurl.axd报错的解决方法

    网站eurl.axd报错的解决方法 错误发生的原因是当ASP.NET检测到Web站点配置为使用ASP.NET 4.0,本地ASP.NET 4.0 的组件会传递一个不能扩展的 URL到ASP.NET的管 ...

  2. vue.js 中使用(...)运算符报错的解决方法

    vue.js 中使用(...)运算符报错的解决方法 Syntax Error:Unexpected token(XX:X) }, computed:{ ...mapGetters([ 'pageSiz ...

  3. windows下使用GNU make命令报错的解决方法

    windows下使用GNU make命令报错的解决方法=> 错误信息:make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x ...

  4. iOS 开发之--打测试包的时候报错的解决方法

    在打测试包的时候,一直出现一个报错,解决方法如下: 方法一: 描述文件所在目录是:~/Library/MobileDevice/Provisioning\ Profiles/,可以直接前往文件夹,把所 ...

  5. dotfuscator 在混淆.Net Framework 4.0以上版本的时候报错的解决方法

    dotfuscator 在混淆.Net Framework 4.0以上版本的时候报错的解决方法 在混淆的时候报错了,错误描述大致如下: Could not find a compatible vers ...

  6. 源码编译apache报错的解决方法

    源码编译apache报错的解决方法   问题介绍 在源码编译安装httpd时,./configure执行无错误,到make时就报错,在网络上搜索了很多文章,很多方法如换apr-util的低版本并不能很 ...

  7. ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法

    原文:ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法 群里好几个朋友都提到过这样的问题,说他们在Silverlight中调用了WebServi ...

  8. MySQL中遇到的几种报错及其解决方法

    MySQL中遇到的几种报错及其解决方法 1.[Err] 1064 - You have an error in your SQL syntax; check the manual that corre ...

  9. vue项目初始化时npm run dev报错webpack-dev-server解决方法

    vue项目初始化时npm run dev报错webpack-dev-server解决方法 原因:这是新版webpack存在的BUG,卸载现有的新版本webpack,装老版本就好webpack-dev- ...

随机推荐

  1. Unity 退出游戏 方法

    Application.Quit(); 嗯,没错,这篇就这么短.

  2. 常用的GNOME Shell 扩展

    GNOME Shell(即GNOME 3)桌面环境最初进军Linux世界时,众多批评人士指出其灵活性有所欠缺.当初外观有所突破的GNOME确实会给生产效率带来一些影响,然而它多年来一直默默通过多种方式 ...

  3. PAT 天梯赛练习集 L1-006. 连续因子

    题目链接:https://www.patest.cn/contests/gplt/L1-006 一个正整数N的因子中可能存在若干连续的数字.例如630可以分解为3*5*6*7,其中5.6.7就是3个连 ...

  4. C语言基本语法——预处理器和预处理指令

    1.什么是预处理器 2.什么是预处理器指令 3.预处理器指令 4.宏指令 5.宏函数 6.宏函数的优缺点 7.条件编译指令 1.什么是预处理器 • 预处理器是一个程序,用来处理源程序中的预处理指令. ...

  5. javaScript - 面向对象 - ES5 和 ES6

    javaScript - 面向对象 - ES5 和 ES6 ES5之前用 构造函数 构造函数的特点 就是一个普通函数, 他的函数名要大写.: 带方法的写法: 原型的方式: prototype 为内置的 ...

  6. [luogu]P3572 [POI2014]PTA-Little Bird(单调队列)

    P3572 [POI2014]PTA-Little Bird 题目描述 In the Byteotian Line Forest there are nn trees in a row. On top ...

  7. JS中的DOM操作怎样添加、移除、移动、复制、创建和查找节点

    DOM操作怎样添加.移除.移动.复制.创建和查找节点? (1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元 ...

  8. mybatis插入操作时,返回自增主键id

    mapper.xml 代码 <insert id="insert" parameterType="com.Student" > <select ...

  9. 监控SQLserver计数器

  10. Jquery-select元素操作方法

    jQuery获取Select元素,并选择的Text和Value: $("#select_id").change(function(){//code...}); //为Select添 ...