我有一个 PHP 网站是使用 Codeigniter 框架构建的。我总是从 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”的功能是用来处理XML文件的XPATH结果对象(我使用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)),但它仍然有错误。
是否有任何关于硬件或编程的调整以防止出现问题?谢谢!