حمزه
3 سال پیش توسط حمزه مطرح شد
2 پاسخ

خطا در ساخت سیدر در لاراول

سلام دوستان وقت بخیر
@asp.gosk
@endworld
@Nima.nori
@mhyeganeh
@hosseinshirinegad98
من میام یه seeder رو ران کنم با دستور زیر :

php artisan db:seed --class=CarsTableSeeder

قبلا انجام میدادم بدون مشکل اجرا میشد ولی الان خطای زیر رو میده ممنون میشم راهنمایی کنن دوستان:

PHP Fatal error:  Allowed memory size of 1048576000 bytes exhausted (tried to allocate 20480 bytes) in C:\Users\NegarSystem\Desktop\test\vendor\laravel\framework
\src\Illuminate\Collections\Collection.php on line 677
PHP Fatal error:  Allowed memory size of 1048576000 bytes exhausted (tried to allocate 20480 bytes) in C:\Users\NegarSystem\Desktop\test\vendor\laravel\framework
\src\Illuminate\Foundation\Bootstrap\HandleExceptions.php on line 203

ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
3

سلام
چیزی که از متن ارور میشه متوجه شد این هست که در CarsTableSeeder سعی دارید مقدار اطلاعات بسیار زیادی رو داخل مموری لود کنید و این مقدار بیشتر از مقدار مجاز تعریف شده هست.
و مثلا زمانی اتفاق می افته که تعداد زیادی رکورد رو از فایل اکسل یا دیتابیس یا ... بخونید و داخل مموری ذخیره کنید تا مثلا بعدش داخل حلقه ازشون استفاده کنید.

راه حل اصلیش شاید بازنگری کدهاتون و یا مثلا استفاده از chunk باشه.

ولی راه حل موقتی و نه چندان اصولیش هم میشه زیاد کردن دستی حد مجاز تعریف شده باشه که یا باید در فایل php.ini تون مقدار زیر رو بروزرسانی کنید:

memory_limit=1024M

یا در ابتدای شروع فایل seeder تون مقدار زیر رو قرار بدید:

ini_set('memory_limit', '1024M');

میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 3 سال پیش مطرح شد
0

سلام خسته نباشید
این ارور مربوط به memory_limits هست که باید بیشترش کنید همین
برای بیشتر کردن فایل php_ini


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام