PDA

View Full Version : سوال: محدودیت ارایه ها



masiha68
پنج شنبه 26 دی 1392, 19:05 عصر
سلام
کسی در مورد محدودیت ارایه های چیزی می دونه ؟
مثلا ما اگه قرار باشه یه ارایه درست کنیم چقد می تونیم داده وارد ارایه کنیم
مثلا set['pop']==>"$data" .... در متغییر data چقد داده (مثلا چند کیلو بایت متن ) وارد کنیم

SlowCode
پنج شنبه 26 دی 1392, 20:01 عصر
سلام
این مورد بستگی داره به memory_limit (http://www.php.net/manual/en/ini.core.php#ini.sect.resource-limits) ظاهرا به طور پیشفرض 128 مگ هست.
حداکثرش هم بستگی داره به رم سرور.
نکته اینه که آرایه ها به لحاظ تعداد عنصر محدودیتی ندارن! فقط به لحاظ میزان رم مصرفی محدودیت دارن.

masiha68
پنج شنبه 26 دی 1392, 20:33 عصر
خب من روی لوکال کار می کنم و وقتی چند صفحه ورد رو با یه ارایه جا به جا می کنم و یا توی دیتابیس ذخیره می کنم ... ذخیره نمی شه
البته برای این کار از pdo استفاده می کنم ... چقد احتمال داره مشکل از pdo باشه ؟!

SlowCode
پنج شنبه 26 دی 1392, 21:11 عصر
تو این کار از متد post یا get استفاده کردین؟
احتمالا مشکل از محدودیت post_max_size باشه.
فکر کنم پیشفرض 2 مگ یا 8 مگ بود.

دلایل مختلفی ممکنه داشته باشه!

masiha68
پنج شنبه 26 دی 1392, 21:22 عصر
راستش اصل قضیه اینمه که من واسه کار بار pdo میخوام یه کلاس شخصی بنویسم و توی متد insert ش موندم
کد اینجوریه :

function insert($data,$table)
{
if(!array($data))
{
echo "it is not a array";
}
else
{

foreach ($data as $key => $value)
{
$values .= ":" . $key . ",";
$data1 .= $key . ",";
}
$values = trim($values, ",");
$data1 = trim($data1, ",");
$sql = "INSERT INTO " . $table . " (" . $data1 . ")" . " VALUES (" . $values . ")";
$this->connection->prepare($sql)->execute($data);

}
}

و کد صفحه :


$data=array("name"=>$_POST['name'] , "family"=>$_POST['family']);
$db=new db;
$db->insert($data,'test');

حالا اگه این data یه ارایه ی حجیم باشه چیزی توی دیتابیس ذخیره نمیشه ... من فرض رو بر محدود بودن ارایه گذاشتم

SlowCode
پنج شنبه 26 دی 1392, 21:32 عصر
به احتمال شدید مشکل از همون POST_MAX_SIZE هست.
تو فایل php.ini کلمه POST_MAX_SIZE رو پیدا کن، مقدارش 8مگ هست. افزایشش بده.
البته در این صورت باید مقدار max_input_time و max_execution_time رو هم افزایش بدی.

تو همون فایل memory_limit رو پیدا کن، مقدارش 128 مگ هست.
ولی من فکر نمیکنم اطلاعات شما بیش از 128 مگ باشه!!!
حتما مشکل از همون پست مکس سایز هست.

masiha68
پنج شنبه 26 دی 1392, 21:40 عصر
ممنون
مشکل حل شد . فقط روی هاست اصلی هم فک می کنی این مشکل پیش بیاد؟؟

SlowCode
پنج شنبه 26 دی 1392, 22:08 عصر
اگه با پشتیبان حرف بزنی احتمالا افزایشش بده.
ولی فکر نکنم زیاد افزایش بده. مخصوصا memory_limit رو!

masiha68
پنج شنبه 26 دی 1392, 22:36 عصر
پس راه چاره ؟؟؟

SlowCode
پنج شنبه 26 دی 1392, 22:48 عصر
اگه پشتیبان قبول نکرد و کارت خیلی مهم بود سرور اختصاصی بگیر خودت کانفیگش کن.

engmmrj
پنج شنبه 26 دی 1392, 22:59 عصر
احتمالا memory_limit رویه هاستی که شما استفاده می کنید از 128 کمتر باشه ! چون منم + بیشتر Framework ها از این روش استفاده می کنن