Codeigniter内存从XML Object to Array耗尽

时间:2013-01-14 10:05:05

标签: php codeigniter memory

我有一个使用Codeigniter框架构建的PHP网站。我总是从Apache日志中得到以下错误消息:

  

PHP致命错误:第150行的/usr/local/apache2/htdocs/mywebsite/application/helpers/my_helper.php中允许的内存大小为1073741824字节(尝试分配8192字节)

关于第150行的my_helper.php如下:

function objectToArray( $object ){
if( !is_object( $object ) && !is_array( $object ) )
    {           
        return $object;
    }
    if( is_object( $object ) )
    {
        $object = get_object_vars( $object );   # <<<<<<< Line 150
    }   
    return array_map( 'objectToArray', $object );  
}

“objectToArray”的功能用于处理XPATH结果对象表单XML文件(我使用simplexml_load_file加载XML文件)。

  

#   通过以下方式传递XML对象的示例:   #

$xmlObject = simplexml_load_file(PATH_TO_XML_FILE, 'SimpleXMLElement', LIBXML_NOCDATA);
$data = $xmlObject->xpath(MY_XPATH);
$ary = objectToArray($data);

此外,我尝试将memory_limit值设置为unlimit(ini_set('memory_limit', - 1)),但仍然有错误。

是否有任何关于硬件或编程的调整以防止出现此问题? 谢谢!

0 个答案:

没有答案