登録データ数に上限あり?

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
zanker3300
記事: 5
登録日時: 2013年3月14日(木) 17:20

登録データ数に上限あり?

投稿記事 by zanker3300 » 2013年3月14日(木) 18:27

初めて投稿しています。
勝手がわかっていませんので、失礼があればお詫びいたします。

現在運用を計画して作成中の schema.xml ファイルに、全部で 387件の <data>タグがあり、
データをアップしようとしても、71番目の <data>タグのデータからアップロードできなくなります。
71番目以降すべての<data>タグがアップできないのではなく、type="file"のものがアップできません。
原因がよくわかっていないですが、一つのschema.xml ファイルに記述できる<data>に上限数が
あるのでしょうか。
コンテンツ編集のページからデータをアップしても、cmsdesigner/data/endry/下の該当する
ディレクトリの下にあるファイル群の数が変化しませんし、 .index.xml や .00004.xml の内容も
変化しません。

ちなみに、schema.xml ファイルは同じ記述の繰り返しのため、基本単位の術を作成して
動作確認した後、繰り返しをperl のスクリプトで生成したものです。
繰り返しの3番目まではデータをアップできますが、4番目の途中から上に説明したとおり、
アップロードできなくなります。
schema.xml ファイルの記述ミスの可能性もありますが、同じ繰り返し(<data>タグの name
オプションは重複のないユニークな名前になっています)の途中からおかしくなるので、記述ミス
ではないような気がしています。

どなたかアドバイスいただけませんでしょうか。
あるいは、ほかにどんな情報を提供すれば原因救命のお役にたちますでしょうか。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: 登録データ数に上限あり?

投稿記事 by webmaster » 2013年3月14日(木) 21:06

zanker3300さん、ご質問ありがとうございます。webmasterです。

CMS Designer自体には、スキーマの上限はありません。ただ、1つのスキーマに387件の項目というのは、かなり想定を超えた運用ではあるのですが…。

恐らく、途中でPHP側の処理可能メモリ上限を超えてしまい、処理が途中で止まってしまうものと思われます。
関係していると思われるPHPの設定は、ブラウザからの投稿データの上限を決める「post_max_size」、ブラウザからのアップロードファイルサイズの上限を決める「upload_max_filesize」、また、処理可能なメモリ総量を決める「memory_limit」です。

これらは、phpinfo命令で確認できます。具体的には、以下の内容のみ記述した phpinfo.php というファイルを作り、サーバへアップロードしてブラウザから開いてみてください。

<?php phpinfo(); ?>

上記のページを開くと、PHPの設定値がズラリと表示されます。その中に、上述の設定値も表示されています。

これらの設定値が、明らかの投稿データ総量に足りていない場合(例えば、1MBに制限されているのに、合計1MBを超えるデータをアップロードしようとしてたり、など)には、適切な値を設定しなおしてみてください。

PHPの設定値は、.htaccess へ以下のような記述を追加することで変更できます。php.iniを直接変更して頂く方法でも可能ですが、これが許されていないサーバもございます。

php_value memory_limit 10M
php_value upload_max_filesize 10M
php_value post_max_size 10M

変更後、再度phpinfoを表示して、確かに設定が変更されていることをご確認ください。

尚、サーバによってはこれらの設定値を変更できないようになっていたり、設定値そのものに上限が決められている場合もありますのでご注意ください。

以上、ご不明な点がございましたら、お手数ですが再度ご質問頂ければ幸いです。m(__)m

zanker3300
記事: 5
登録日時: 2013年3月14日(木) 17:20

Re: 登録データ数に上限あり?

投稿記事 by zanker3300 » 2013年3月19日(火) 19:10

早速のアドバイスありがとうございます。

>CMS Designer自体には、スキーマの上限はありません。ただ、1つのスキーマに387件の項目というのは、
>かなり想定を超えた運用ではあるのですが…。

387という値は、考えられることを全部詰め込んでもこんなに大きくは絶対にならないという数字です。
cms_designer を使い慣れていないためだろうと思いますが、ほかの解決方法があれば、
試してみたいとは思います。
また、<data>タグの基本形の繰り返し数をダイナミックに変更できれば
繰り返しの構造の基本部分を1回記述するだけで使いまわしができるのに、、とも思います。

><?php phpinfo(); ?>
>上記のページを開くと、PHPの設定値がズラリと表示されます。その中に、上述の設定値も表示されています。

値を調べてみましたところ、以下の値になっていました。

php_value memory_limit   128M
php_value upload_max_filesize  10M
php_value post_max_size  8M

この値では不十分ということでしょうか。
関係ないかもしれませんが、
max_file_uploads 20
となっています。

これらの設定が適切であれば解決するということでしたら、サーバー管理者に持ちかけようと
思います。よろしくお願いいたします。

zanker3300
記事: 5
登録日時: 2013年3月14日(木) 17:20

Re: 登録データ数に上限あり?

投稿記事 by zanker3300 » 2013年3月22日(金) 15:01

<data>タグが少なくなる別の方法で対処することにしました。
ひとまず全データをアップすることはできるようになりました。
ただ、サイト管理者の負荷が増えるため、あまりうれしい方法ではありませんが。

当方の問い合わせに対してご検討いただきありがとうございました。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: 登録データ数に上限あり?

投稿記事 by webmaster » 2013年3月22日(金) 16:04

webmasterです。お返事が遅くなってしまい、申し訳ありません。
既に遅いかもしれませんが、max_file_uploads も関連している可能性が高いです。(前回の考慮から抜けておりました…)

memory_limitが128Mというのは十分すぎる量ですが、upload_max_filesize や post_max_size については、今回のようにエントリ1件のデータが大きい場合には、10Mや8Mでは不足することもあるかもしれません。

今回は項目数の削減ということで対応されたとのことで、ご要望に沿えず申し訳ありませんでした。
この情報が、今後なんらかのお役に立てれば幸いです。m(__)m

返信