অ্যাডমিনে 256MB এর বেশি মেমরি কীভাবে ব্যবহার করবেন?


10

আমি একজন ফটোগ্রাফারের জন্য একটি সাইট তৈরি করছি যিনি আজকের ডিজিটাল ক্যামেরার জন্য সাধারণত বড় আকারের ছবি আপলোড করেন। চিত্রগুলি বেশ মেমরি নিবিড়, বিশেষত থাম্বনেইল তৈরির মতো চিত্রের ক্রিয়াকলাপ।

সুতরাং আমি অ্যাডমিনে 256MB এর উপরে মেমরির সীমাটি বাড়াতে চেয়েছিলাম - এটি কীভাবে করা যায়? আমি সিজিআই এবং পিএইচপি 1 টি পর্যন্ত গিগাবাইট ব্যবহার করতে দিয়েছি তবে ওয়ার্ডপ্রেস সবসময় মেমরি 256MB এ হ্রাস করে। কোনও ক্লায়েন্টের পক্ষে এটি কীভাবে ঠিক করা যায় যা অটো-আপডেটে সক্ষম হওয়া দরকার?

আপডেট: ওয়ার্ডপ্রেস ৩.২ থেকে চলমান ওয়ার্ডপ্রেসে সর্বাধিক মেমরি সীমাটি আবার কনফিগার-সক্ষম হবে


আরে, তোমাকে কিছুক্ষণ দেখেনি। অনুমান করুন আপনি ক্লায়েন্টদের সাথে ব্যস্ত রয়েছেন; তোমার জন্য ভালো! আপনি কি চিত্র প্রসেসিং অফলোডিং, সম্ভবত অ্যামাজন এস 3 এবং ইসি 2 ব্যবহার করে বিবেচনা করেছেন? aws.amazon.com/articles/1602 নাকি গুগল অ্যাপ ইঞ্জিন? কোড.google.com/appengine/docs/python/images/usedimages.html বা urlimg.com ব্যবহার করছেন ?
মাইকস্কিঙ্কেল

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

উত্তর:


13

তাত্ত্বিকভাবে, আপনার config.php সম্পাদনা করুন এবং wp-settings.php অন্তর্ভুক্তির আগে এই লাইনটি যুক্ত করুন ।

define('WP_MEMORY_LIMIT', '256M');

উচিত 256MB থেকে ওয়ার্ডপ্রেস জন্য আপনার মেমরি সীমা বাড়াতে বা যাই হোক না কেন আপনি সেট মূল্য। এবং এটি সাইটব্যাপী কাজ করবে। তবে, sorich87 হিসাবে উল্লেখ করা হয়েছে , কয়েকটি ফাংশন রয়েছে যা হার্ড কোডড 256 এমবি সীমা দিয়ে এই সেটিংটি পরিবর্তন করবে।

টু হ্যাক বা নট টু হ্যাক

এই সম্পর্কে সামান্য উদ্বেগ WP_MEMORY_LIMITহ'ল , আমি যে সমস্যার মুখোমুখি হয়েছি তার মধ্যে অন্যতম এক বিস্ময়কর ডব্লিউপি। যদি আপনি পরীক্ষা করেন তবে আপনি /wp-includes/default-constants.phpএই সেটিংটি পাবেন:

// set memory limits
if ( !defined('WP_MEMORY_LIMIT') ) {
    if( is_multisite() ) {
        define('WP_MEMORY_LIMIT', '64M');
    } else {
        define('WP_MEMORY_LIMIT', '32M');
    }
}

আমি কখনই বুঝতে পারি না যে ডাব্লুপিপি এটির পূর্বনির্ধারিত মেমরির ব্যবহার এত কম সেট করবে যতক্ষণ না আমি ডাব্লুপি কোডেক্সে এটি খুঁজে না পাই:

ওয়ার্ডপ্রেস স্বয়ংক্রিয়ভাবে এই ফাংশনটি ব্যবহারের আগে পিএইচপিকে প্রবেশমূল্যের চেয়ে কম মেমরি বরাদ্দ করা হয়েছে কিনা তা যাচাই করবে। উদাহরণস্বরূপ, যদি পিএইচপি যদি M৪ এমবি বরাদ্দ করা হয় তবে এই মানটি 64৪ এম তে সেট করার দরকার নেই কারণ ওয়ার্ডপ্রেস প্রয়োজনে স্বয়ংক্রিয়ভাবে সমস্ত M৪ এমবি ব্যবহার করবে। ( উত্স )

এই ব্যাখ্যাটি স্বস্তিদায়ক ছিল। তবে, হার্ড কোডিং @ini_set('memory_limit', '256M');প্রতিবারের ডাব্লুপি এক্সিকিউট ফাংশন যার আরও বেশি মেমরির প্রয়োজন তা ব্যবহার করা হয় না । আসলে, আমি ডাব্লুপি কোডেক্স থেকে এই অস্পষ্ট আচরণ সম্পর্কে কোনও ব্যাখ্যা পাই না। যেহেতু বেশিরভাগ ব্যবহারকারীর সাথে সম্পর্কিত ফাংশন হয় নথিভুক্ত নয় বা কোডেক্সে পরিষ্কারভাবে ব্যাখ্যা করা হয়নি।

যদিও এই সেটিংটি বেশিরভাগ ক্ষেত্রে দুর্দান্তভাবে কাজ করে, এটি নিম্নতর মেমরির সেটিং সহ বা আপনার ক্ষেত্রে উচ্চতর মেমরির ব্যবহার সহ সার্ভারে এই ফাংশনগুলিকে অকেজো করে তুলবে।

ডব্লিউপি ছেলেরা এটি ঠিক না করা পর্যন্ত, আমি মনে করি আপনার একমাত্র সমাধান হ'ল মূলটি পরিবর্তন করা। আপনি খুঁজে পেতে পারেন এই পোস্টে hakre আকর্ষণীয় দ্বারা লিখিত পড়তে। তিনি ট্র্যাকে একটি প্যাচ সুপারিশও জমা দেন । প্যাচ ফাইলের আগের লিঙ্কটি আপনাকে এই সেটিংটি ব্যবহার করে এমন ফাংশনের তালিকা খুঁজে পেতে সহায়তা করতে পারে।

সম্পাদনা:

এটি আমি সবচেয়ে মূর্খ উত্তরটি দিয়েছি কারণ আমি আপনার নিজের পোস্টে একটি লিঙ্ক দিই (কেবল বুঝতে পারি যে 2 দিনের পরে ওপি নামটি হ্যাক্রে ছিল ): ডি

সম্পাদনা 2:

মন্তব্য হিসাবে উল্লিখিত হিসাবে, এটি 3.2 প্রকাশের দ্বারা স্থির করা হয়েছে


আপনার উত্তর বোকা হওয়া থেকে অনেক দূরে। সুনির্দিষ্টভাবে বলতে গেলে, আমি ইতিমধ্যে উত্তরটি জানার সময় আমার এই প্রশ্নটি পোস্ট করা মূর্খ ছিল এবং আপনার মন্তব্যটি সম্পূর্ণরূপে দেখায় যে আপনি সত্যিকার অর্থেই এর উপর দিয়ে গেছেন। সত্যিই, আমার সবচেয়ে বড় ক্ষমা চাইছি, লিঙ্কটি এখানে পোস্ট করা এতদূর সঠিক ছিল যেখানে প্রশ্ন পোস্ট করার সময় আমি নিজেকে জানতাম, তাই বলব কী? এটি স্বীকার করার জন্য উন্মুক্ত হওয়ার জন্য ধন্যবাদ! আমি আপনার স্টাইলটি পছন্দ করি এবং আমার ব্লগটিকে আপনার উত্তরের সাথে সংযুক্ত করেছি (কেবলমাত্র ব্লগে ফিরে লিঙ্ক করা হয়নি)।
হ্যাক্রে

3.2 এ এটি কনফিগারযোগ্য হওয়া উচিত: চেঞ্জসেট 17749
হ্যাক্রে

1

আছে @ini_set('memory_limit', '256M');সামনে ইমেজ জিডি ফাংশন দ্বারা মেমরি লোড করা হয়।

imagecreatefromstring()(লাইন 253, ডাব্লুপি-অন্তর্ভুক্ত / মিডিয়া.এফপি) ব্যবহার করে wp_load_image()যা দ্বারা ব্যবহৃত হয় image_resize(ফাংশনটি ছিল চিত্রগুলির প্রসেসিং থাম্বনেইস তৈরির জন্য করা হয়েছিল)। মেমরির সীমা 252 লাইনে রয়েছে, সুতরাং যতদূর আমি দেখতে পাচ্ছি, বিড়ালছানা *> :) কে হত্যা না করে এটিকে পরিবর্তন করার কোনও উপায় নেই।

এছাড়াও load_image_to_edit()( জিডি 200, ডাব্লুপি-অ্যাডমিন / অন্তর্ভুক্ত / চিত্র-সম্পাদনা.এফপি) জিডি ফাংশন রয়েছে। এটি চিত্রের সম্পাদক দ্বারা ব্যবহৃত হয়েছে (আমি এটি ব্যবহার করে নেভেড করেছি, যেহেতু আমি ওয়ার্ডপ্রেস জানি, এমনকি এটিও খুঁজে পাওয়া উচিত ছিল না :))। যদি আপনার ক্লায়েন্ট এটি ব্যবহার করে তবে আপনি মেমরির সীমাটি সেখানে সেট করতেও পারেন। ফিল্টার আছে load_image_to_edit_path

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

* হ্যাকিং কোর


হ্যাঁ, এগুলি চিত্র সম্পর্কিত কয়েকটি অ্যাডমিন-সাইড ফাংশনে হার্ডকোড করা আছে। একটি WP_MEMORY_LIMITধ্রুবক এবং এমনকি একটি admin_memory_limitফিল্টার রয়েছে, তবে এই মুষ্টিমেয় মামলায় দুজনের মধ্যেও পরামর্শ নেওয়া হয় না।
আনিকা ব্যাকস্ট্রম

1

সুইল - আমার ঠিক একই সমস্যা ছিল। কিছু "বৈশিষ্ট্য" সহ অভিশাপিত ওয়ার্ডপ্রেস বরং আরও পরিশীলিত পন্থা হ'ল ডাব্লুপি_মেমরি_লিমিট থেকে সেট করার জন্য সমস্ত @ini_set এর পরিবর্তন করা - সমস্যা সমাধান করা

এছাড়াও, রানটাইম সময়ে পিএইচপি মান পরিবর্তন করা যে স্মার্ট নয়, কেন এটি প্রয়োগ করা হয় তা নিশ্চিত নয় :(


0

আপনার বিবরণ দ্বারা আমি মনে করি এই কোডটিতে এই admin.phpসমস্যাটি রয়েছে:

if ( current_user_can( 'manage_options' ) )
    @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', '256M' ) );

কিছুটা আশ্চর্যজনক যে এটি অ্যাডমিন মেমরির ব্যবহারটি আলাদাভাবে বিবেচনা করে তবে কমপক্ষে এটি ফিল্টারযোগ্য।


অ্যাডমিনে ইমেজ অপারেশনের জন্য এটি কাজ করে না। আমি যদি ফিল্টারটি ব্যবহার করি বা না করি তবে এগুলি আবার 256MB এ নামিয়ে আনা হবে। : /
হ্যাক্রে

0

আমি শুধু বাংলাবাংকে ধন্যবাদ জানাতে চেয়েছিলাম। এই প্রথম পোস্টটি আমি খুঁজে পেয়েছি যা আমাকে ডাব্লুপি-কনফিগারেশন.পিএফ-এ প্রবেশ কেন define('WP_MEMORY_LIMIT', '512M');ব্যবহৃত হচ্ছে না সে সম্পর্কে কিছুটা অন্তর্দৃষ্টি দিতে সক্ষম হয়েছিল। আমি এটি বুঝতে চেষ্টা করে ঘন্টা ব্যয় করেছি ...

আমি কীভাবে মেমরি সীমা নির্ধারণ করি তা বিবেচনা না করে আমার আমদানি 256 এম ক্লান্ত সমস্যার সাথে ব্যর্থ হয়েছিল।

এখানে এমন জায়গাগুলি রয়েছে যেখানে মেমরির সীমাটি 256 এম (যেভাবেই সংস্করণে 3.0.5.5 এ) হার্ডকড করা আছে।

wp-admin/includes/file.php (line 532)

wp-admin/includes/image-edit.php (line 393 & 498)

wp-includes/media.php (line 252)

টিকিট # 13847 এর সাথে একটি প্যাচ সংযুক্ত রয়েছে যা সেই স্থানগুলিকে অতিরিক্ত ধ্রুবক হিসাবে ডাকা কনফিগার করতে সক্ষম করে WP_MAX_MEMORY_LIMIT
hakre

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