膨大なデータソース(14.9M行のXML、1.7GB)を解析する必要があります。
XMLReaderを使用してこれを行うのに問題があります。以前はSimpleXML以外は必要ありませんでしたが、このワッパーをメモリにロードできないことを考えると、ストリームを介してこれを行う必要があります。
私はこのコードを書きました:
<?php
$xml = new XMLReader();
$xml->open('public.xml');
while($xml->read())
{
echo '.';
}
$xml->close();
?>
しかし、実行に問題があります。つまり、「致命的なエラー:最大実行時間が30秒を超えました...」というメッセージが表示されます。
set_time_limit(600)を実行すると、ブラウザがクラッシュします。
「。」の数を処理できないため、クラッシュしています。作成した?
ここで何をお勧めしますか?最終的には、このXMLファイルをリレーショナルデータベースに入れる必要があります。スキーマの詳細に入る前に、実現可能性をテストしています。