我有一个使用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)),但仍然有错误。
是否有任何关于硬件或编程的调整以防止出现此问题? 谢谢!