/
  • خطای 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,738
    تاریخ عضویت: ۱۳۸۷ دي ۲۸
    اعتبار: 96
    تشکرها : 2146
    ( 4740 تشکر در 2161 ارسال )
    ارسال: #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

    کسی که دین را با شخصیت ها بشناسد، همان شخصیت ها او را از دین خارج می سازند. امام صادق (ع)

    یادمون نره اون جلبک هایی که موقع اشغال افغانستان میگفتن حالا که آمریکا اومده چند سال دیگه افغانستان بهشت منطقه میشه...
    سلام بهشت منطقه!
    (آخرین ویرایش در این ارسال: ۱۳۹۶ آذر ۱۶ ۰۲:۰۳ عصر، توسط Y.P.Y.)
    ۱۳۹۶ آذر ۷ ۰۷:۲۹ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : sara147 ayoubsys Reza
    Y.P.Y آفلاین
    ناظم کل
    *******

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

    کسی که دین را با شخصیت ها بشناسد، همان شخصیت ها او را از دین خارج می سازند. امام صادق (ع)

    یادمون نره اون جلبک هایی که موقع اشغال افغانستان میگفتن حالا که آمریکا اومده چند سال دیگه افغانستان بهشت منطقه میشه...
    سلام بهشت منطقه!
    (آخرین ویرایش در این ارسال: ۱۳۹۶ آذر ۱۶ ۰۷:۰۱ عصر، توسط Y.P.Y.)
    ۱۳۹۶ آذر ۱۶ ۰۲:۰۱ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : ayoubsys Reza
    Reza آفلاین
    رضا شیخله
    *****

    ارسال‌ها: 3,011
    تاریخ عضویت: ۱۳۹۰ آبان ۱۶
    اعتبار: 119
    تشکرها : 2707
    ( 2666 تشکر در 1664 ارسال )
    ارسال: #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