PHP で大きな JSON データ ファイル (25 MB) を処理しています。
これで、ファイルを取得して文字列の長さを確認できます。文字列を echo
出力することはできませんが、24479798 が得られます。
echo strlen() の後、スクリプトの残りの部分がクラッシュし、
echo "Made it to the Bottom"; を含むそれ以上の出力は得られません。
json_decode が機能しないのはなぜですか?これはスクリプトのメモリの問題ですか、それとも JSON データの文字エンコーディングの問題ですか?行き詰まってしまった。
ああああ
大きなファイルをインポートしようとしていると考えられますが、スクリプトの実行にブラウザ/サーバーが必要とするよりも時間がかかり、完了する前にタイムアウトになります。このようなスクリプトは、タイムアウトをなくすためにコマンド ラインまたは cron 経由で実行する必要があります。スクリプトの先頭に
ini_set('memory_limit', '512M');
(または必要に応じてより大きな値) を追加してメモリを増やし、スクリプトの読み込みと処理に十分なメモリを確保することもできます。 jsonドキュメント。