আজ আমি একই ধরণের ত্রুটি পেয়েছি:
পিএইচপি মারাত্মক ত্রুটি: শ্রেণি declare নাম declare এখানে শ্রেণি ঘোষণা করা যায় না, কারণ নামটি ইতিমধ্যে /var/www/m2/magento2/app/code/p////hehe/class.php 100 লাইন ব্যবহার করা হয়েছে
যেখানে 100 লাইনটি ফাইলের শেষ।
প্রায় 4 ঘন্টা ডিবাগিংয়ের পরে আমি সত্যিই কারণটি খুঁজে পাই: নেমস্পেসের ঘোষণায় একটি ভুল ছাপ। চূড়ান্ত মুহুর্ত পর্যন্ত আমি বিশ্বাস করি নি যে এটি নাম ঘোষণার ক্ষেত্রে একটি টাইপোগ্রাফিক ত্রুটি, তবে যখন আমি সমস্ত নাম নতুন করে লিখেছি - ভুলটি অদৃশ্য হয়ে গেছে। এই নিবন্ধটি খুব সহায়ক ছিল:
আমি কিছুক্ষণের জন্য আমার মাথা স্ক্র্যাচ করব, অবাক হয়ে কী ঘটছে, এবং অবশেষে বুঝতে পারি এটি এটি
Pulsetorm
উদাহরণস্বরূপ, আমি একটি নেমস্পেসের নামটি ভুল টাইপ করেছি এবং যখন প্রাথমিক অটোল্যাডগুলি ক্লাস ফাইলটি লোড করে, তখন এটি যে শ্রেণীর সন্ধান করছে তা সংজ্ঞায়িত করবে না এবং তারপরে দ্বিতীয় অটোলোডার (কম্পোজারের সাধারণত) এটি আবার লোড করে এবং পুনরায় সংজ্ঞা দেওয়ার চেষ্টা করে ভুল ক্লাস
অর্থাত্, ম্যাগেন্টো ক্লাস চেয়েছিল
Pulsestorm\Helloworld\Observers\Block
তবে আমি সংজ্ঞায়িত করেছি
Pulsetorm\Helloworld\Observers\Block
ভুল নাম স্থান ধন্যবাদ।
ধন্যবাদ, অ্যালান ঝড় :)
হালনাগাদ:
এই ত্রুটির আর এক প্রকারের নাম স্থানের অনুপস্থিত অংশের সাথে ভুল নামস্থান ঘোষণা, যেমন এই উদাহরণ হিসাবে:
ত্রুটি:
সংগ্রহস্থলগুলির কোড জেনারেশন ... 1/7 [====> -----------------------] 14% 1 সেকেন্ড 50.0 এমআইবিপিএইচপি মারাত্মক ত্রুটি: ঘোষণা করতে পারছে না ক্লাস মাইগ্রেশন \ পদক্ষেপ \ সংস্করণ11410to2000 টেস্ট, কারণ নামটি ইতিমধ্যে /var/www/vhosts/rwld/vendor/magento/data-migration-tool/tests/unit/testsuite/Migration/Step/UrRRewrite/Version11410to2000Test on000 এ ব্যবহৃত হচ্ছে লাইন 109
যেখানে 109 লাইনটি ফাইলের শেষ।
ফাইলটিতে vendor/magento/data-migration-tool/tests/unit/testsuite/Migration/Step/UrlRewrite/Version11410to2000Test.php
আমরা নেমস্পেসটি খুঁজে পেয়েছিলাম যেমন Migration\Step
কখন সঠিক নেমস্পেস হওয়া উচিত Migration\Step\UrlRewrite
কারণ এই শ্রেণীর দিকে যাওয়ার পথ Migration/Step/UrlRewrite
। নাম স্থান পরিবর্তন করার Migration/Step/UrlRewrite
পরে ত্রুটি চলে গেছে।