大量のデータを扱っているせいか
echo json_encode($rs);
でデータが表示しませんでした。
print_r($rs);
ではちゃんとデータが表示されます。
データは多次元配列なのですが、
今回扱ったデータ量は、2000万文字くらいでした。
ちょっと重すぎますね。。。(桁数間違っていません。20,000,000文字)
こういったデータを扱う旨い方法ってあるのでしょうか?
用途としては、jsからphpを呼び出してデータを作成(今回の2000万文字)して、jsで受け取って処理するという流れです。
phpだけで実行しても表示はされませんでした。
データを分けて受け取るしか無いんですかね・・・
全てのデータを一旦、js側で配列に入れたいという事情があります。
そうすると、並べ替えとか、条件での検索等が容易にできる為です。
何かアドバイスあればよろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
> エラー表示をONにしたら、
> Allowed memory size of 134217728 bytes exhausted (tried to allocate 10223601 bytes)
> と出ていました。
> 134Mのデータでしたね。
いや、それ「(PHP のスクリプト実行に)割り当てられたメモリサイズ 134217728 バイトを使い果たしました(10223601 バイトを確保しようとしました)」という意味ですから。
ともあれ、php.ini を修正できないというのであれば、
# まあ、数万件のデータが数十万件になる恐れがあるから php.ini の修正ができたとしても焼け石に水なのですが。
あなたにとっては納得いかないでしょうが現状の
> 全てのデータを一旦、js側で配列に入れたい
という仕様について、何か別の方策を考えないといけないですね。
……やっぱりサーバーにソート・絞り込み条件を投げて、サーバーの SQL で絞り込んだ結果を返すようにしませんか?
前の質問にあった
> 毎回数千データを取ってくると凄く時間がかかります。
というのも一覧に表示する分だけサーバーから持ってくるようにすれば解決すると思うのですが。
有名どころの DBMS にはそのためのページング機能がありますし。
http://www.syboos.jp/database/doc/sql-query-pagi …
再度ご回答ありがとうございます。
>……やっぱりサーバーにソート・絞り込み条件を投げて、サーバーの SQL で絞り込んだ結果を返すようにしませんか?
はい。今回はこれが現実的な気がしてきました。。。
ありがとうございます。
もう少し別の方の回答がないか待ってみます。
No.2
- 回答日時:
#1 ですが、PHP でのメモリの扱いは無知だったため調べてみたところ、以下のページを見つけました。
http://mitsukuni.org/blog/2009/01/16/php%E3%81%A …
上記を踏まえての追加の補足要求です。
(4) php.ini の memory_limit の設定はどうなっていますか? また、php.ini を書き換えることはできますか?
No.1
- 回答日時:
ああ、最後に書いてある事情がどこかで聞いたような話だと思ったら、この質問の方でしたか。
http://oshiete.goo.ne.jp/qa/8731703.html
自分の立場はこの時の回答のままですがそれは置いといて、以下の点の補足をお願いいたします。
(1) $rs って何ですか?
> echo json_encode($rs);
の一行だけ抜き出されても何とも言えません。公開できる範囲でのソースコードを呈示願います。
(2) 「データが表示しませんでした」とのことですが、それは想定した2000万文字のデータが表示されないという事でしょうか、それとも表示そのものが無いという事でしょうか。
(3) json_encode() の直後に json_last_error() を実行してみてください。その値はどうなりましたか?
http://php.net/manual/ja/function.json-last-erro …
ご回答ありがとうございます!
はい。以前の質問のときに使った方法で並べ替えも使いたいです。
追記:
エラー表示をONにしたら、
Allowed memory size of 134217728 bytes exhausted (tried to allocate 10223601 bytes)
と出ていました。
134Mのデータでしたね。
(1)に関して
$rsは、データベースに入っているデータを取ってきています。
$rs[n][title] = "hogehogehoge"
$rs[n][discription] = "hogehogehoge"
$rs[n][contents] = "hogehogehoge"
$rs[n][value] = 500
....
で、nが状況によって違うのですが、数万データあります。
(2)表示そのものをしなかったです。print_rならすべて表示されました。
(3)echo json_last_error();を、echo json_encode($rs);の後に書きましたが、何も表示されませんでした。
(4)同じ階層に、php.iniを入れてmemory_limit = -1としましたが、だめでした。
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 10223601 bytes)
php.iniはよくわからないです・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 文字列を段落で分ける方法を教えて下さい。 2 2023/03/09 10:03
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript 【jquery】EasyUIのSubGridにMySQLのテーブルデータを表示&編集にしたい 5 2022/05/02 13:10
- その他(IT・Webサービス) 高速処理可能な表計算ソフトについて ExcelやGoogleスプレッドシートのような表計算ソフトで、 2 2023/04/29 16:06
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Visual Basic(VBA) Excel VBA 書式変更で困ってます。 オートフィルターの日付フィルターを用いて データの絞り込 2 2022/07/26 22:16
- Excel(エクセル) Excel ドロップダウンリスト(入力規則)に関してです データの入力規則で元データ79000行のド 3 2023/07/17 10:06
- HTML・CSS HTMLを正しく表示させるには 2 2023/06/18 09:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DTOとEntityの差は何ですか。
-
wordの差し込み印刷で文字...
-
【C#】DataGridViewの最大列数...
-
VB.NET 2017の勉強中です。 今...
-
「外部データの取り込み」とい...
-
ページングに関して
-
WordでExcelデータを差込...
-
ArrayListへArrayListの格納
-
excel access連携 このテーブル...
-
VB6.0とスプレッドシート
-
Dosブロンプトでtabを出力したい
-
【VBA】EXCELブックを開かずに...
-
Google scholarがひらけなくな...
-
バッチファイルでpingの結果を...
-
switch()文で値の大小比較
-
ログインした掲示板ですが、直...
-
phpでcookieがうまく保存されない
-
shシェルスクリプト 空白行の...
-
「取得先」という表現について
-
バッチファイルで、全てのウィ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
wordの差し込み印刷で文字...
-
DTOとEntityの差は何ですか。
-
【C#】DataGridViewの最大列数...
-
excel access連携 このテーブル...
-
WordでExcelデータを差込...
-
ActiveReportのサブレポート機...
-
GridViewからチェックボックス...
-
★お手上げ状態です。助けてくだ...
-
VBA内でのGetPixelを使用した時...
-
表を表示するコントロールについて
-
Windowsのマクロプログラムで、...
-
INIファイルに一括書き込みを行...
-
MSFlexGridのデータを初期化し...
-
C#でのForm間のデータ受け渡し...
-
「外部データの取り込み」とい...
-
C言語で地図を描きたい
-
小数点以下を含む計算でバグが...
-
エクセルVBAで楽天証券に注...
-
CSVのインポート【ASP.NET】
-
画像の読み込み&白黒判別プロ...
おすすめ情報