搜索
系统检测到您的用户名不符合规范:

【重大bug】TP3.2放到 linux环境下出现程序内存分配问题!

浏览:1723 发布日期:2014年05月14日 分类:技术分享
:(
Allowed memory size of 1916796928 bytes exhausted (tried to allocate 3086655745 bytes)
错误位置
FILE: /data/xxx/ThinkPHP/Common/functions.php LINE: 370

错误位置
FILE: /data/web/partTime/ThinkPHP/Library/Think/Template.class.php LINE: 423
ThinkPHP3.2.2 { Fast & Simple OOP PHP framework } -- [ WE CAN DO IT JUST THINK ]
------------------------------------------------
问题原因在于:preg_replace_callback匹配很多次时会出现内存泄露。
而出现内存分配不足问题。原本是php开发团队的问题,从而导致TP无法运行。
------------------------------大家可以测试下这个例子--------------------------------------------<?php
$content='<php>asdfsadf</php><php>asdfsadf</php><php>asdfsadf</php><php>asdfsadf</php><php>asdfsadf</php><php>asdfsadf</php> testtest';
$a=123;
$content= preg_replace_callback('/<php(\s*?)>(.*?)<\/php(\s*?)>/is', function($match) use($a){return 123;}, $content);
echo $content;
windows下没有问题。在Linux下环境就会出现和以上同样的问题:
-------------------运行结果---------------------
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 3086503041 bytes) in /data/web/partTime/test2.php on line 4
----------------------------------------------------
请TP官方团队帮忙解决,3天内没有解决,本周我就自己写代码替换出现内存泄漏的问题了。
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
chendiy
积分:772 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /