- PR -

PHP SESSION 保存できる文字数

1
投稿者投稿内容
会議室デビュー日: 2006/02/18
投稿数: 8
投稿日時: 2006-02-18 15:04
お世話になります。

サーバー側に保存できるセッションの文字数(ファイルサイズ)には制限があるのでしょうか?
クライアント側に保存する場合は、クッキー毎に制限があるようですが・・・。
例えば

<?
session_start();
$_session["ron"] = "text";
?>

で、textに100000byteなどの文字数を設定すると、サーバー側のセッションファイルには、正確に保存されません。
保存できる文字数(ファイルサイズ)に制限があるのか、php.iniの設定がおかしいのか、いろいろ検索してみましたが回答が得られなかったので、こちらで質問させて頂きました。

宜しくお願い致します。

[ メッセージ編集済み 編集者: 智 編集日時 2006-02-18 23:08 ]
かしこみ
会議室デビュー日: 2005/04/14
投稿数: 9
投稿日時: 2006-02-21 17:52
マニュアルに書いていないみたいなので試してみました。
わたしのところは、WindowsのPHPですが
1288890バイトのデータをセッション変数に入れて
問題が無くサーバー側のセッションファイルに
おちたようです。
セッションファイルの最後が 49999 abcdefghijk<br>
になっていました。
[CODE]<?php
session_start();

$msg = "";
for($i=0; $i<50000; $i++) {
$msg .= $i . " abcdefghijk<br>\r\n";
}

$_SESSION['msg'] = $msg;

print("msg長さ=" . strlen($_SESSION['msg']) . "<br>\r\n");
exit(1);

?>[CODE]

環境は、
Windows2000 Pro
PHP4.4.2
です。
かしこみ
会議室デビュー日: 2005/04/14
投稿数: 9
投稿日時: 2006-02-21 17:57
コードのタグを間違えたので再送信します。

コード:
<?php
  session_start();

  $msg = "";
  for($i=0; $i<50000; $i++) {
    $msg .= $i . "    abcdefghijk<br>\\r\\n";
  }

  $_SESSION['msg'] = $msg;

  print("msg長さ=" . strlen($_SESSION['msg']) . "<br>\\r\\n");
  exit(1);

?>

会議室デビュー日: 2006/02/18
投稿数: 8
投稿日時: 2006-02-21 18:14
わざわざ試して頂きましてありがとう御座います。

出来ましたか・・・。

当方の環境は、

Fedora Core4
Apache 2.0.54
PHP5.0.4

です。

結局、この問題を解決できず
外部ファイルに
serializeを使って保存する方法で回避しましたが、
PHPのバージョンなどの関係もあるんでしょうか・・・。

[ メッセージ編集済み 編集者: 智 編集日時 2006-02-21 18:15 ]
1

スキルアップ/キャリアアップ(JOB@IT)