কোড সংকলন করার সময় ম্যাগেন্টো 2 অনুমোদিত মেমরির ত্রুটি usted


28

আমি মডিউল যুক্ত করার সময় আমার ত্রুটি আছে ..

দয়া করে Magento কম্পাইল কমান্ডটি পুনরায় চালান

সুতরাং আমি কমান্ডের নীচে রান করি তবে ত্রুটিও প্রদর্শন করি যা নীচে যখন রুট থেকে কমান্ড চালায়,

পিএইচপি ম্যাজেন্টো সেটআপ: ডিআই: সংকলন

Compilation was started.
%message% 0/7 [>---------------------------]   0% 1 sec 37.0 MiB%message% 0/7 [>
---------------------------]   0% 1 sec 37.0 MiBProxies code generation... 0/7 [
>---------------------------]   0% 1 sec 37.0 MiB
Proxies code generation... 1/7 [====>-----------------------]  14% 47 secs 43.5
MiB
Repositories code generation... 1/7 [====>-----------------------]  14% 47 secs
43.5 MiB
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate
 24 bytes) in D:\xampp\htdocs\linsenwelt\vendor\zendframework\zend-code\src\Scan
ner\FileScanner.php on line 36

কিভাবে ঠিক করবো ?


লাইভ সার্ভারে আমি একই ত্রুটি
পাচ্ছি

উত্তর:


72

ম্যাজেন্টো 2 কমান্ডের মেমরি সীমাটির জন্য দ্রুত সমাধান হ'ল কমান্ডের মধ্যে মেমরি সীমাটি সরাসরি যুক্ত করছে।

সংকলনের আদেশের জন্য,

php -dmemory_limit=5G bin/magento setup:di:compile

স্থাপনার জন্য

php -dmemory_limit=5G bin/magento setup:static-content:deploy

সমস্যা সমাধান না হলে আপনি সর্বোচ্চ 5 জি হিসাবে পরিবর্তন করতে পারেন।


1
ধন্যবাদ @ ইরাকেশ এটি আমার সময় সাশ্রয় করে আবারও আপনাকে অনেক ধন্যবাদ
নাগারাজু কে

1
যত্ন নিন, মেমরি সীমা বাড়ানো কেবলমাত্র একটি অস্থায়ী সমাধান হতে পারে।
ম্যাকাস

8

দেখে মনে হচ্ছে আপনার ক্লাইমে কেবল 128MB মেমরি বরাদ্দ রয়েছে। আপনি যদি পারেন তবে কমপক্ষে 256MB বা 512MB এর মান বাড়ান।


আমি আমার php.ini ফাইলের জন্য 512mb আকার চেষ্টা করেছি কিন্তু এখনও কাজ করছি না ... কীভাবে সমাধান করবেন?
খুশবু মেহতা

আপনি যদি এখনও পান Allowed memory size of 134217728 bytesতবে আপনি ক্লাইমের জন্য মেমরির সীমা বাড়িয়েছেন না।
মারিয়াস

কোন ফাইলটিতে আমি স্মৃতি সীমা নির্ধারণ করি ??
খুশবু মেহতা

8

এই 'নোংরা' উপায় ব্যবহার করুন

php -dmemory_limit=-1 bin/magento setup:di:compile


5

আপনি যদি পিএইচপি> = 5.3.0 ব্যবহার করে থাকেন এবং আপনি ম্যাজেন্টো ২.১.x এবং এর বেশি ব্যবহার করেছেন, তবে চালানোর পরে composer install, আপনার মূল ডিরেক্টরিতে আপনার ফাইল ডিরেক্টরিতে দুটি ফাইল তৈরি হবে.user.ini

আপনার পিএইচপি.আইএনই সেটিংসকে ওভাররাইড করতে এই ফাইলগুলিকে সম্পাদনা করুন, এক্ষেত্রে memory_limit

; Set PHP memory limit to 768M which already enough for compilation tasks
memory_limit = 768M
max_execution_time = 18000

আপনি যদি অ্যাপাচি ব্যবহার /pubকরে থাকেন তবে আপনার অবশ্যই ইঞ্জিনএক্স (এনজিনএক্স) ব্যবহার করে থাকেন তবে কেবলমাত্র রুট ডিরেক্টরিতে থাকা ফাইলগুলিকেই কেবল যত্নশীল করতে হবে one

আশা করি এটা সাহায্য করবে.


3

আপনার পিএইচপি করার জন্য বরাদ্দ থাকা মেমরিটি বাড়ানো দরকার। স্মৃতিশক্তি বাড়াতে কমান্ডটি কার্যকর করুন php --ini। ফাউন্ডড লোড করা php.ini। এটা মত হওয়া উচিত

Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed:      /etc/php5/cli/conf.d/05-opcache.ini,

বর্তমান লোড করা php.ini (/etc/php5/cli/php.ini) এ যান এবং মেমরি_লিট পরামিতি সন্ধান করুন। মেমরি_লিমিট প্যারামিটারের বিপরীতে মানটি 256 এম বা 512 এম তে বাড়ান।


3

এই পরিস্থিতিটি ডিবাগ করা খুব জটিল কারণ আপনি যদি কেবল তাই করেন

php -r "echo ini_get('memory_limit').PHP_EOL;"

এটি আপনার পথে পিএইচপি-র জন্য মেমরির সীমা দেখায় যা ভাল হতে পারে। তবে ম্যাজেন্টো স্ক্রিপ্ট (বিন / ম্যাজেন্টো) উপস্থাপনাটি ব্যবহার করে

#!/usr/bin/env php

সুতরাং অগত্যা আপনার পথ থেকে পিএইচপি ব্যবহার করা হয় না! যে php.iniফাইলটি ব্যবহার করা হচ্ছে তা ট্র্যাক করার একটি উপায় হ'ল এর মতো একটি ছোট স্ক্রিপ্ট লিখুন:

#!/usr/bin/env php
<?php
phpinfo();

এটিকে কল করুন getinfo(না getinfo.php!), এটি কার্যকর করণীয় করুন, তারপরে এটি চালান:

./getinfo  | grep php.ini

এটি আপনাকে পরিবর্তন করতে হবে এমন ইনআই ফাইলটি দেখায়। এই ফাইলে, memory_limitঅন্যান্য পোস্টে প্রস্তাবিত কনফিগারেশন মানটি 128M এর চেয়েও উচ্চতর মানতে পরিবর্তন করুন। তারপরে ফাইলটি সংরক্ষণ করুন এবং আপনার কাজ পরীক্ষা করুন:

./getinfo  | grep memory_limit

2

আমি একই ধরণের সমস্যায় পড়েছি, মেমরির সীমাটি পিএইচপি ইনআই ফাইলের ভিতরে 2 জিবি করে বাড়ানো হয়েছিল, পিএইচপিফোনো () ফাইলটি দেখিয়েছিল এটি 2 জিবিতে সেট করা হয়েছে। মনে হচ্ছে ম্যাজেন্টো কোথাও ম্যানুয়ালি সীমাবদ্ধ করে দিয়েছে। আমি ফাইল বিন / ম্যাজেন্টো এর ভিতরে মেমরির সীমা বাড়িয়েছি। প্রথম লাইনে আমি এটি রেখেছি:

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

যা এটি কাজ করে।


2

আমি আমার প্রশ্নের সমাধান পেয়েছি। মেমরি ক্লান্ত ত্রুটির জন্য, আমাদের সংকলন কোডের জন্য মেমরি সীমা যুক্ত করতে হবে।

php -dmemory_limit=4G bin/magento setup:di:compile

আশা করি এটি ভবিষ্যতে কাউকে সহায়তা করবে।


0

php/bin magento -d memory_limit=5G s:d:c আপনার সংকলন কোডের জন্য নিম্নলিখিত লাইনটি ব্যবহার করুন। এটি পিএইচপি-তে অনুমোদিত মেমরির সীমাবদ্ধতার কারণে। কমান্ডটিতে মেমরি সীমাবদ্ধ করার পরে এটি ত্রুটিটি সরিয়ে ফেলবে এবং আপনার সংকলন এবং অন্যান্য কমান্ড কোনও ত্রুটি ছাড়াই চলবে run শুধু এই অ্যাড
-d memory_limit=5G হিসাবে আপনি উপরোক্ত উদাহরণে দেখা যে কমান্ড হবে। আপনি যদি আমার উত্তরটি দরকারী বলে উপভোগ করেন।


0

"-D মেমরি_লিট = 5 জি" ব্যবহার করে সংকলনটি বুদ্ধিমানের সিদ্ধান্ত নয়। এটি একটি অস্থায়ী সমাধান যা মোড স্যুইচিংয়ের প্রক্রিয়া চলাকালীন বিকাশকারী থেকে উত্পাদন পর্যন্ত প্রভাবিত হতে পারে। এবার সিস্টেমটি এই যুক্তিকে "-d মেমরি_লিট = 5 জি" ছাড়াই কোডটি সংকলন করে যা ত্রুটিটি ছুঁড়ে দেয়।

এই পর্যায়ে এই ত্রুটিটি ঠিক করার জন্য এটি একটি ভাল বিকল্প। এটি ঠিক করতে, php.ini খুলুন এবং 1024M দ্বারা মেমরি_লিমিট বৃদ্ধি করুন এবং কমপাইল কমান্ড পিএইচপি বিন / ম্যাজেন্টো সেটআপ কার্যকর করুন: di: সংকলন

এটি দেখুন: https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-erferences

এবার কাজ করা উচিত


0

আপনি যদি ক্লাইমে এই সমস্যার মুখোমুখি হন তবে দয়া করে এই আদেশটিটি ট্রে করুন

php -dmemory_limit = 8G bin / magento সেটআপ: আপগ্রেড করুন


0

এম 2 এর জন্য নীচের কমান্ড সহ এসএসএসের মাধ্যমে মেমরি সীমা যুক্ত করুন।

কমপাইল কমান্ডের php -dmemory_limit=5G bin/magento setup:di:compile জন্য: কমান্ড মোতায়েনের জন্য: php -dmemory_limit=5G bin/magento setup:static-content:deploy

সমস্যা সমাধান না হলে আপনি মান 5 জি বাড়াতে পারেন।


0

67

ম্যাজেন্টো 2 কমান্ডের মেমরি সীমাটির জন্য দ্রুত সমাধান হ'ল কমান্ডের মধ্যে মেমরি সীমাটি সরাসরি যুক্ত করছে।

সংকলনের আদেশের জন্য,

php -dmemory_limit = 5G bin / magento সেটআপ: di: স্থাপনার জন্য সংকলন করুন

php -dmemory_limit = 5G বিন / ম্যাজেন্টো সেটআপ: স্থির-বিষয়বস্তু: মোতায়েন আপনি ইস্যুটির সমাধান না হলে 5 জি হিসাবে সর্বোচ্চ পরিবর্তন করতে পারেন।

এটি সত্যিই কাজ :)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.