Mage :: লগ () নতুন Magento আপডেটে কাজ করছে না (1.9.4.1)


23

এই নতুন আপডেটের পরে (1.9.4.1), Mage :: লগ () কাজ করছে না। স্পষ্টতই, এটির Zend_Validate_File_Extensionম্যাজ.এফপি-তে 819 লাইনটিতে কিছু করার আছে যেখানে এটি ফাইলটি is_readable()উপস্থিত থাকলেও এটি পরীক্ষা করে । আমি পুরো log()পদ্ধতিটিকে তার আগের সংস্করণে বিপরীত করেছি এবং এটি আবার কাজ করছে।

এই সমস্যাটি প্রতিবেদন করার জন্য আমি ম্যাগেন্টো টিমের সাথে যোগাযোগ করতে পারি এমন মূল চ্যানেলটি কী?


1
@PiotrSiejczuk এটি নতুন লগ ফাইলের জন্য কাজ করে না। আপনার দ্বিতীয় মন্তব্য থেকেই বোঝা যাচ্ছে যে লগ রোটেশন কনফিগারেশন পরিবর্তন করার ক্ষমতা এটিকে কোনও গুরুতর সমস্যা নয় এবং আমি সম্পূর্ণই একমত নই। আপনার প্রথম মন্তব্যে বোঝা যাচ্ছে যে এটি সম্ভবত ওপি বা কোনও প্রান্তের ক্ষেত্রে কেবল একটি সমস্যা এবং আমিও এর সাথে খুব বেশি একমত নই। আমি পুরোপুরি বুঝতে পেরেছি কেন ম্যাগেন্টো এই ত্রুটিটি লক্ষ্য করবেন না, তবে এই প্রভাবগুলি এখানে যা প্রয়োজন তা বিপরীত (তারা ইচ্ছা করে হোক বা না হোক)।
toon81

3
অনেকগুলি পরিস্থিতি রয়েছে যেখানে এটি সমস্যাযুক্ত: পরিষ্কার ইনস্টল (এই ক্ষেত্রে system.log এখনও বিদ্যমান নেই), স্থানীয় এবং তৃতীয় পক্ষের মডিউলগুলি তৈরি / ইনস্টলেশন যা কাস্টম লগ ফাইলগুলিতে লগ ইন করে, লোগ্রোটেট কনফিগারেশন যা স্পষ্টভাবে তৈরি করে না / মূল লগ ফাইল রাখুন।
আঃ মঠিজসসেন

3
হ্যাঁ, প্রতিটি সফ্টওয়্যারের জন্য লগিং অপরিহার্য, আমি অবাক হয়েছি যে তারা কেন এটি পাস করেছিল। আমার স্বপ্ন হ'ল 2020 এলে এবং ম্যাজেন্টো টিম 1.x সমর্থন করা বন্ধ করে দেয়, তারা তাদের শেষ সংস্করণটি একটি অফিসিয়াল গিট
রেপোতে

1
@ স্ক্লোগিক "আমার স্বপ্ন হ'ল 2020 এলে এবং ম্যাজেন্টো টিম 1.x সমর্থন করা বন্ধ করে দিলে তারা তাদের শেষ সংস্করণটি একটি অফিসিয়াল গিট রেপোতে আপলোড করে যাতে সম্প্রদায় এটি আপ টু ডেট রাখতে পারে" => ইতিমধ্যে ওপেনমেজ এলটিএস: গিথুব দিয়ে সম্পন্ন হয়েছে । com / ওপেনমেজ / ম্যাজেন্টো-এলটিএস
ফ্রেডেরিক

উত্তর:


7

অফিসিয়াল প্যাচ ইনকামিং :) এখনও অফিসিয়াল প্যাচের জন্য অপেক্ষা করছে ... :(

piotrekkineski মন্তব্য করেছেন 13 ঘন্টা আগে

এটি এখনকার অফিশিয়াল প্যাচ যা পূর্ববর্তী সংস্করণগুলিতে পোর্ট করা হবে (এটি সর্বশেষে কাজ করা উচিত) https://gist.github.com/piotrekkineski/0596cae2d25bf467edbd3d3f03ab9f8f

সূত্র: https://github.com/OpenMage/magento-lts/pull/648#issuecomment-480941871


7

SUPEE-11086 এর সাথে প্যাচিংয়ের ক্ষেত্রে ম্যাজেন্টো সমর্থন এবং স্ল্যাক উভয়ের সাথে গবেষণা এবং মিথস্ক্রিয়ার ভিত্তিতে আমি এ পর্যন্ত যা কিছু পেয়েছি তার সংক্ষিপ্তসার করব। কি করা যেতে পারে:

আপডেট 2: ইস্যুটি পরবর্তী প্যাচ সুপার -11155 - https://magento.com/security/patches/supee-11155 এ সমাধান করা হয়েছে । সম্ভাব্য সমস্যাগুলির থ্রেডের জন্য প্যাচ চেক প্রয়োগ করার আগে সর্বদা হিসাবে - সিকিউরিটি প্যাচ SUPEE-11155 - সম্ভাব্য সমস্যা? দুর্দান্ত মন্তব্যের জন্য ধন্যবাদ অ্যাড ম্যাথিজসেনকে to

আপডেট: ইই সংস্করণের চাহিদা অনুযায়ী একটি অফিসিয়াল প্যাচ উপলব্ধ। মূলত, এটি পিয়োটার কামিনস্কির আক্ষেপটি ম্যাজেন্টো প্যাচ ফাইল হিসাবে আবৃত।

  1. app/Mage.phpপ্যাচ ফাইলের জন্য পরিবর্তনগুলি মুছুন । এটি আমি এখনও পর্যন্ত করেছি।
    পেশাদাররা - লগিং আগের মতো কাজ করে।
    কনস - প্যাচ ফাইল সম্পাদনা করা, লগিং সম্ভাব্য শোষণ থেকে রক্ষিত নয় (তবে এটি খুব কম ঝুঁকিযুক্ত হওয়া উচিত)। যখন ম্যাজেন্টো কোনও অফিশিয়াল ফিক্স প্রকাশ করে তখন আপনাকে এটিকে ফিরিয়ে দিতে হবে এবং আসল অশিক্ষিত প্যাচ প্রয়োগ করতে হবে।
  2. পাইওটর কামিনস্কির সংক্ষিপ্তসারের উপর ভিত্তি করে শীর্ষে আরও একটি প্যাচ যুক্ত করুন - https://gist.github.com/piotrekkineski/0596cae2d25bf467edbd3d3f03ab9f8f । পাইওটার কামিনস্কি সুরক্ষার দায়িত্বে থাকা ম্যাজেন্টোর অংশ, তাই এটি সরাসরি ঘোড়ার মুখ থেকে আসে। গিস্টটি ম্যাজেন্টো স্ল্যাকে ভাগ করা হয়েছিল এবং সম্ভবত SUPEE-11086 v1.1 হিসাবে শেষ হবে।
    পেশাদাররা - এটি ম্যাজেন্টো উপায়ে
    কনস - আপনাকে অফিসিয়াল হওয়ার জন্য অপেক্ষা করতে হবে, বা দায়িত্ব নিতে হবে এবং নিজেকে প্যাচ হিসাবে প্যাকেজ করতে হবে, যা আপনাকে অফিসিয়াল প্যাচ শেষ হয়ে গেলে ফিরে যেতে হবে।
    এই পরিবর্তনগুলির সাথে মূলটি সম্পাদনা করতে দুটি প্যাচ যুক্ত করার পরিবর্তে সামান্য প্রকরণ হবে।
  3. Zend_Validate_File_Extension::isValidফাইল অস্তিত্ব বৈধতা সম্পাদনা করুন এবং অপসারণ। ম্যাজেন্টো এলটিএস গিথুব - https://github.com/OpenMage/magento-lts/pull/648 - এ দীর্ঘ আলোচনা রয়েছে । isValidপদ্ধতি জিনিষ এটা করতে বলে আশা করা না, তাই কিছু সদস্য এটা ঠিক করার প্রস্তাব করছি। আমার মতে এটি কোনও ভাল সমাধান নয়, হ্যাঁ কোডটি খারাপ, তবে এটি চিরকাল ছিল এবং এটি কাস্টম মডিউল / কোডে ব্যবহৃত হতে পারে। বিপরীতে, সবচেয়ে খারাপটি ঘটতে পারে তা হ'ল ফাইলগুলি অস্তিত্বের জন্য পরীক্ষা করা হয় না।
    পেশাদাররা - একটি বরং সাধারণ ফিক্স
    কনস - একটি লাইব্রেরি ফাইল পরিবর্তন করে এবং এর কার্যকারিতা সংশোধন করে।
    আপনি এটি কাস্টম প্যাচ হিসাবে অথবা localকোড পুলে পুরো ক্লাসটি পুনরায় লিখে প্রয়োগ করতে পারেন ।

আমি প্যাচটি সম্পাদনা করতে বেছে নিয়েছি এবং যখন কোনও ভি 1.1 আসে আমি সম্পাদিত প্যাচটি ফিরিয়ে দেব এবং আসল সংস্করণটি প্রয়োগ করব এবং ঠিক করার পরে। এটি আমাদের বিল্ড প্রক্রিয়া এবং অভ্যন্তরীণ নীতিমালা ভালভাবে স্যুট করে, এটি আপনার পক্ষে আলাদা হতে পারে। আপনি যা চয়ন করেছেন তা তাড়াতাড়ি পরে এই প্যাচটি প্রয়োগ করা আরও ভাল।


1
২৫ শে জুন অবধি, ম্যাজেন্টো SUPEE-11155, ম্যাজেন্টো বাণিজ্য 1.14.4.2 এবং ম্যাজেন্টো ওপেন সোর্স 1.9.4.2 প্রকাশ করেছে যার মধ্যে এই সমস্যার সমাধান রয়েছে। মূলত, পিয়োটার কামিনস্কির প্যাচটি অন্তর্ভুক্ত করা হয়েছে।
আধা ম্যাথিজসেন

4

সম্প্রদায় ইনপুট থেকে কিছু। নীচে অনুযায়ী একটি নতুন ভ্যালিডেটর জেন্ড_ভালিডেট_ফাইলে_ এক্সটেনশন ব্যবহৃত হয়েছে:

https://github.com/brentwpeterson/magento-patches/blob/master/CE1.9/PATCH_SUPEE-11086_CE_1.9.4.0_v1-2019-03-26-03-05-04.sh#L183

"সমাধানটি প্যাচটি সম্পাদনা করছে এবং কেবল অ্যাপ / ম্যাজ.এফপি থেকে পরিবর্তনগুলি সরিয়ে দিচ্ছে আমি এই অনুশীলনকে দৃ strongly়ভাবে নিরুৎসাহিত করব, তবে পরিস্থিতি সঙ্কটজনক"।


এটি প্রকৃতপক্ষে একটি খারাপ অভ্যাস, তবে আমি লগ না করে বাঁচতে পারি না। আশা করি অ্যাডোব শীঘ্রই এটি ঠিক করতে পারবেন
রডগ্রোরিওম

হ্যাঁ আমাকে সমস্ত লগ ফাইল পুনরায় তৈরি করতে হয়েছিল কারণ লোগ্রোটেটর স্ক্রিপ্টটি ফাইলগুলি মুছছিল এবং সেগুলির জিপ তৈরি করছিল। আমি ম্যাজেন্টো এর একটি আরও ভাল স্ক্রিপ্ট খুঁজে বার করতে হবে না।
কলভিন ক্লিন 18

1
@ কলভিনক্লিয়েন: আপনি কি লোগ্রোটেটের কপিরাইটরঙ্কেট বিকল্পটি দিয়ে চেষ্টা করেছিলেন? "পুরানো লগ ফাইলটি সরানো এবং allyচ্ছিকভাবে একটি নতুন তৈরি করার পরিবর্তে একটি অনুলিপি তৈরির পরে মূল লগ ফাইলটিকে শূন্য আকারে ছাঁটাই করুন It এটি ব্যবহার করা যেতে পারে যখন কোনও প্রোগ্রামের লগফিলটি বন্ধ করতে বলা যায় না এবং এভাবে লেখা চালিয়ে যেতে পারে ( পূর্ববর্তী লগ ফাইলটিতে চিরকালের জন্য সংযোজন) নোট করুন যে ফাইলটি অনুলিপি করা এবং এটি কেটে ফেলার মধ্যে খুব অল্প সময়ের স্লাইস রয়েছে, সুতরাং কিছু লগিং ডেটা হারাতে পারে this যখন এই বিকল্পটি ব্যবহৃত হয়, তৈরি বিকল্পটি কোনও প্রভাব ফেলবে না, পুরানো লগ ফাইল স্থানে থাকে "।
পাইওটার সিজেজুক

ধন্যবাদ @ পাইওটরসিজেজুক! আমি এটি ব্যবহার করেছি: / পাথ / ভের / লগ / * লগ ate 7 টি কপিরআরঙ্কেট রোজ করুন কমপ্রেস অনুপস্থিত ok
কালভিন ক্লিন

1

আমার অস্থায়ী সমাধানটি কোডের এই অংশটি অনুলিপি lib/Zend/Validate/File/Extension.phpকরা app/code/local/Zend/Validate/File/Extension.phpএবং পদ্ধতি থেকে সরানো ছিল isValid():

    // Is file readable ?
    #require_once 'Zend/Loader.php';
    if (!Zend_Loader::isReadable($value)) {
        return $this->_throw($file, self::NOT_FOUND);
    }

এটা হয়ে যাবে ...

public function isValid($value, $file = null)
{
    if ($file !== null) {
        $info['extension'] = substr($file['name'], strrpos($file['name'], '.') + 1);
    } else {
        $info = pathinfo($value);
...

ম্যাজেন্টো 1.9.4.2 প্রকাশিত হলে আমি আবার এটি পরীক্ষা করে দেখি।

আসলে, ফাইলটি পঠনযোগ্য নয়, বা বিদ্যমান নেই, তার মানে এই নয় যে ফাইলটির নামটি বৈধ নয়, তাই না?


1

আমি মূল কোডটি পরিবর্তন না করে এবং এর মতো একটি আপডেট ব্যবহার করার পরামর্শ দিই ( https://gist.github.com/mehdichaouch/99c67298b5a65f81219c9b69942b6fe7 )

$installer->run("
    INSERT INTO `{$installer->getTable('core_config_data')}` (scope, scope_id, path, value)
    VALUES ('default', 0, 'dev/log/allowedFileExtensions', 'log,txt,html,csv')
    ON DUPLICATE KEY UPDATE value = 'log,txt,html,csv';
");

0

আর একটি সমস্যা আছে (যা ম্যাজেন্টো দল থেকে ইচ্ছাকৃত হতে পারে) যা সাবফোল্ডারগুলির মধ্যে লগ ফাইলগুলি লেখার ক্ষমতা রোধ করে। উদাহরণ স্বরূপ:

Mage::log('Some log information', Zend_Log::DEBUG, 'somefolder/anotherfolder/somelogfile.log', true);

পূর্ববর্তী সংস্করণগুলিতে, সেই কলটি লোকেশনটিতে একটি ফাইল তৈরি করতে পারে:

/your-magento-app-root-folder/var/log/somefolder/anotherfolder/somelogfile.log

পদ্ধতিতে কোনও basename()ফাংশন কল রয়েছে বলে Mage::log()ফাইলটি এখানে লিখিত রয়েছে:

/your-magento-app-root-folder/var/log/somelogfile.log

এখানে ইনক্রিমিনটেড কোডটি রয়েছে app/Mage.php:

$file = empty($file) ?
    (string) self::getConfig()->getNode('dev/log/file', Mage_Core_Model_Store::DEFAULT_CODE) : basename($file);

এটি বিশেষত 1.9.4.1 এর সাথে সম্পর্কিত না হলেও, সমস্যাটি সম্প্রতি ঘটতে শুরু করেছে (সর্বশেষ 1.9.3.x সংস্করণগুলির কাছাকাছি) এবং যখন আপনাকে অনেক লগ ফাইল মোকাবেলা করতে হয় তখন খুব বিরক্ত হয়, কখনও কখনও একই নামের সাথে ( তবে প্রাথমিকভাবে বিভিন্ন সাবফোল্ডারে)

যেহেতু কোডটির এই অংশটি সম্ভবত ম্যাজেন্টো দল থেকে ইচ্ছাকৃত, তাই আমি মনে করি যে এটি আর প্রকাশে ঠিক করার কোনও পরিকল্পনা নেই, যা প্রাথমিক আচরণ পুনরুদ্ধার করার জন্য এটি হ্যাক করার ইঙ্গিত দেয় ...


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