1

Codeigniter フレームワークを使用して構築された PHP Web サイトがあります。私は常に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)) に設定しようとしましたが、それでもエラーが発生します。

問題を回避するために、ハードウェアまたはプログラミングに関する調整はありますか? ありがとう!

4

0 に答える 0