> 백엔드 개발 > PHP 튜토리얼 > preg_replace_callback Allowed memory error

preg_replace_callback Allowed memory error

WBOY
풀어 주다: 2016-06-23 13:57:10
원래의
1085명이 탐색했습니다.

服务器PHP Version 5.4.9
preg.php

<?php$content='asdfsadf testtest';$a=123;$content= preg_replace_callback('/<php(\s*?)>(.*?)<\/php(\s*?)>/is', function($match) use($a){return 123;}, $content);echo $content;
로그인 후 복사

运行代码返回:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4169478721 bytes) in /media/raid10/htdocs/xxxx.com/preg.php on line 4

在本地Windows PHP Version 5.3.3
运行代码返回:asdfsadf testtest

哪里出现错误了?


回复讨论(解决方案)

错误提示是说内存不足,而代码本身并没有极度占用内存的成分
可见是一个 bug

而 php 开发组织一再的声明,由于修复了重大漏洞,建议升级至 php5.3.21 或 php5.4.19 以上版本
为什么就是视而不见呢?

楼主,你如何解决这个问题的?好像没有解决方案啊,自己写函数吗?

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿