/
  • خطای Fatal error: Allowed memory size of 134217728 bytes exhausted در localhost

  • ارسال پاسخ   امتیاز موضوع:
    • 1 رأی - میانگین امیتازات: 5
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی خطای Fatal error: Allowed memory size of 134217728 bytes exhausted در localhost
    نویسنده پیام
    mpi آفلاین
    عضو جدید
    **

    ارسال‌ها: 1
    تاریخ عضویت: ۱۳۹۶ آذر ۷
    اعتبار: 0
    تشکرها : 0
    ( 0 تشکر در 0 ارسال )
    ارسال: #1
    خطای Fatal error: Allowed memory size of 134217728 bytes exhausted در localhost
    سلام دوستان
    من این کد و در نوت پد در لوکال هات نوشتم
    کد PHP:
    <?php

     
    //ini_set('memory_limit', '4000MB');
     
    $myArray = Array();

     
    $connection  mysqli_connect("localhost","username","pass","dbname");
     
    $result mysqli_query($connection"SELECT * FROM tablename");
      
     while((
    $row mysqli_num_rows($result))== null){
        
    array_push($myArray,$row);
     }

     echo 
    json_encode($myArray);
     
    mysqli_close($connection ); 

    ?>
    و زمانیکه اجرا میکنم با خطای زیر مواجه میشم :
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 100663304 bytes) in D:\software\UwAmp\www\page1.php on line 10
    کسی میتونه راهنمایی کنه که فرم درست کد من چیه ؟
    متشکرم
    (آخرین ویرایش در این ارسال: ۱۳۹۶ آذر ۷ ۰۲:۲۵ عصر، توسط undefined.)
    ۱۳۹۶ آذر ۷ ۰۲:۱۴ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    Y.P.Y آفلاین
    ناظم کل
    *******

    ارسال‌ها: 2,723
    تاریخ عضویت: ۱۳۸۷ دي ۲۸
    اعتبار: 100
    تشکرها : 2171
    ( 4814 تشکر در 2189 ارسال )
    ارسال: #2
    RE: خطای Fatal error: Allowed memory size of 134217728 bytes exhausted در localhost
    احتمالاً مشکل از این قسمت هستش:
    کد PHP:
    while(($row mysqli_num_rows($result))== null){
        
    array_push($myArray,$row);
     } 
    احتمالاً حلقه در حالت "بی نهایت" قرار میگیره و هیچوفت متوقف نمیشه
    بنابراین ظرفیت حافظه(stack) پی اچ پی پر میشه و خطا میده.

    ظرفیت مجاز حافظه در فایل php.ini به بایت: 134217728
    میزان اشغال شده به بایت: 134217728 + 100663304 = 234881032

    اینکار هم اشتباه هستش:
    ini_set('memory_limit', '4000MB');
    حتی اگر 99999999999MB هم باشه، نهایتاً پر میشه و بازم خطا میده. چون منطق کدت کلاً غلطه
    __________________________________________________________________________
    وبلاگ: Yousha.Blog.ir

    صدام: "اگر با ارتش شاه ایران طرف بودیم، یک ماهه جنگ را می بردیم"
    http://gulfnews.com/opinion/thinkers/ira...i-1.500997
    (آخرین ویرایش در این ارسال: ۱۳۹۶ آذر ۱۶ ۰۲:۰۳ عصر، توسط Y.P.Y.)
    ۱۳۹۶ آذر ۷ ۰۷:۲۹ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : sara147 ayoubsys Reza
    Y.P.Y آفلاین
    ناظم کل
    *******

    ارسال‌ها: 2,723
    تاریخ عضویت: ۱۳۸۷ دي ۲۸
    اعتبار: 100
    تشکرها : 2171
    ( 4814 تشکر در 2189 ارسال )
    ارسال: #3
    RE: خطای Fatal error: Allowed memory size of 134217728 bytes exhausted در localhost
    اگر درست نشد از توابع mysqli_real_query و mysqli_use_result استفاده کن شاید حل بشه
    تا مموریت پر نشه
    __________________________________________________________________________
    وبلاگ: Yousha.Blog.ir

    صدام: "اگر با ارتش شاه ایران طرف بودیم، یک ماهه جنگ را می بردیم"
    http://gulfnews.com/opinion/thinkers/ira...i-1.500997
    (آخرین ویرایش در این ارسال: ۱۳۹۶ آذر ۱۶ ۰۷:۰۱ عصر، توسط Y.P.Y.)
    ۱۳۹۶ آذر ۱۶ ۰۲:۰۱ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : ayoubsys Reza
    Reza آفلاین
    رضا شیخله
    *****

    ارسال‌ها: 3,026
    تاریخ عضویت: ۱۳۹۰ آبان ۱۶
    اعتبار: 133
    تشکرها : 2719
    ( 2713 تشکر در 1691 ارسال )
    ارسال: #4
    RE: خطای Fatal error: Allowed memory size of 134217728 bytes exhausted در localhost
    کد PHP:
    while(($row mysqli_num_rows($result))== null){
        
    array_push($myArray,$row);
     } 

    شما نوشتی اگه تعداد رکوردهات Null بود
    بیا null رو پوش کن توی آرایه !

    خب این میشه حلقه بینهایت و بینهایت بار null پوش میشه توش دیگه !
    این حلقه کی تموم میشه
    اصلا چرا میخوای نال رو پوش کنی توی آرایه که چی بشه Big Grin

    به جاش اینو بنویس مشکلت حل میشه
    کد PHP:
    while ($row mysqli_fetch_assoc($result)) {
        
    array_push($myArray,$row);
     } 
    __________________________________________________________________________
    -- - RezaWorkShop.ir - blog.RezaOnline.net
    ۱۳۹۶ آذر ۱۷ ۰۴:۱۱ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : ayoubsys
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS