আপনার অনুরোধটি প্রক্রিয়া করার সময় একটি ত্রুটি ঘটেছে
এসকিউএলস্টেট [এইচওয়াই 1000] [2002] এরকম কোনও ফাইল বা ডিরেক্টরি নেই
উপরের ত্রুটিটি পেয়ে দয়া করে কেউ আমাকে এটিকে সমাধান করার সমাধান সরবরাহ করুন।
আপনার অনুরোধটি প্রক্রিয়া করার সময় একটি ত্রুটি ঘটেছে
এসকিউএলস্টেট [এইচওয়াই 1000] [2002] এরকম কোনও ফাইল বা ডিরেক্টরি নেই
উপরের ত্রুটিটি পেয়ে দয়া করে কেউ আমাকে এটিকে সমাধান করার সমাধান সরবরাহ করুন।
উত্তর:
যদি আপনার সার্ভারটি তালিকাভুক্ত app/etc/local.xml
থাকে localhost
এবং এই ত্রুটিটি ম্যাজেন্টোর ত্রুটি লগতে উপস্থিত হয় তবে ম্যাজেন্টো এখনও ঠিক চলছে, তবে মাইএসকিএল পুনরায় চালু হয়েছিল এবং সকেট /tmp/mysql.sock
বা যে কোনও সকেট ফাইল my.cnf
অস্থায়ীভাবে অদৃশ্য হয়ে গেছে।
এটি অনুপস্থিত কারণ, PDO মাইএসকিএল সংযোগকারী রিপোর্ট করেছে SQLSTATE[HY000] [2002] No such file or directory
আপনি যদি ক্রমাগত এই ত্রুটিটি ছুঁড়ে ফেলছেন এবং ব্যতিক্রমী ত্রুটি পৃষ্ঠাটি বাদ দিয়ে ম্যাজেন্টোতে অ্যাক্সেস না পেয়ে থাকেন তবে mysql সম্পূর্ণরূপে ক্র্যাশ হয়ে গেছে এবং কেন এবং mysql পুনরায় আরম্ভ করার জন্য আপনার হোস্টিং সরবরাহকারীর প্রয়োজন।
আমার এই একই সমস্যা ছিল এবং আমি কোন পিএইচপি ব্যবহার করতে হবে তা নির্বাচন করতে নীচে ব্যবহার করেছি। /usr/local/etc/php/7.2/bin/php bin/magento setup:di:compile
অফিসিয়াল ডক্স দেখুন: এসকিউএলসেট [HY000] [2002] এরকম কোনও ফাইল বা ডিরেক্টরি নেই
এটি পিএইচপি সংস্করণ সমস্যাটি ভুল বলে মনে হচ্ছে, নিম্নলিখিত কমান্ডটি চালানোর জন্য আপনাকে পিএইচপি ব্যবহার করতে হবে তা নির্বাচন করতে হবে:
/Applications/MAMP/bin/php/php7.1.20/bin/php bin/magento setup:upgrade
PS: উপরে নমুনা ম্যাকের জন্য, আপনি উইন্ডো বা ইউনিক্সের জন্যও একইভাবে করতে পারেন।
ওয়েব সার্ভারের সাথে তুলনা করে পিএইচপি কমান্ড লাইন দ্বারা পিএইচপি ব্যবহারের ভিন্ন উদাহরণের ফলে এটি ঘটে। বিশেষত, mysql.sock
যদি এটি হয় তবে ভুল কনফিগার করা হতে পারে।
আপনি পিএইচপি এর একটি উদাহরণ ব্যবহার করছেন কিনা তা নির্ধারণ করতে:
নিম্নলিখিত কমান্ড লিখুন:
php -i | grep 'php.ini'
এটি পিএইচপি কমান্ড-লাইন ইন্টারফেস (সিএলআই) দ্বারা ব্যবহৃত সেটিংস নির্ধারণ করে। কোথায় php.ini
অবস্থিত নোট করুন ।
phpinfo.php
করে থাকেন তবে আপনার ওয়েব সার্ভারে একটি সেট আপ করুন।phpinfo.php
থেকে এক সঙ্গে php -i
।phpinfo.php
php.ini
আপনার ওয়েব সার্ভার দ্বারা ব্যবহৃত ফাইল দেখায় । যদি পিএইচপি-র মধ্যে যা কিছু থাকে তার থেকে আলাদা হয় php.ini
, আপনাকে অবশ্যই সমস্ত পিএইচপি সেটিংস পিএইচপি সিএমআই এবং ওয়েব সার্ভার উভয়ের জন্যই সামঞ্জস্য করতে হবে।
অতিরিক্ত বিশদের জন্য, আপনার ওয়েব সার্ভারের সাথে সরবরাহ করা ডকুমেন্টেশনের সাথে পরামর্শ করুন।
আমার কাছে শেলের মাধ্যমে আমার কাছে পিএইচপি-র বেশ কয়েকটি সংস্করণ উপলভ্য রয়েছে - পিএইচপি টাইপ করা এবং ট্যাব টিপুন যা আমার স্বতঃপূরণ সম্পর্কে জানেন shows
আমার জন্য, পিএইচপি 5.4, 5.5 এবং 5.6 সবাই ঠিকঠাক কাজ করছিল, কিন্তু পিএইচপি 7 মাইএসকিএল.সোকটি খুঁজে পাচ্ছিল না এবং এই প্রশ্নটিতে আলোচিত "এসকিউএলসেট [এইচওয়াই 2000] [2002] এর সাথে ক্রাশ করছিল" ।
# Prints [ok]
echo "<?php print(new mysqli('localhost', 'root', 'root', 'mysql') ? '[ok]' : '[error]').PHP_EOL; ?>" | php-5.6.20
# Prints [error] and shows a warning
echo "<?php print(new mysqli('localhost', 'root', 'root', 'mysql') ? '[ok]' : '[error]').PHP_EOL; ?>" | php-7.0.8
আপনার মাইএসকিএল সার্ভারের সকেট রয়েছে তা দেখতে, এই আদেশটি ব্যবহার করুন:
cat /etc/mysql/my.cnf | grep socket
আমার ক্ষেত্রে, আমার যোনি সিস্টেমে পারকোনা মাইএসকিএল ইনস্টল করার সাথে সাথে সোক সকেট ফাইলটি এখানে বাস করার জন্য ঘটেছে:
/var/run/mysqld/mysqld.sock
(যে বিজ্ঞপ্তি এটা বলা হয় mysqld কেবল না MySQL )
আমার কাছে পিএইচপি-র বিভিন্ন সংস্করণ রয়েছে যা থেকে বেছে নিতে হবে এবং এই আদেশগুলি আমাকে দেখিয়েছিল যে কোনটিতে সমস্যা রয়েছে এবং কোনটি ভাল ছিল:
আমার জন্য উত্তরটি কেবলমাত্র /tmp/mysql.sock এবং /var/run/mysqld/mysqld.sock এর মধ্যে একটি সিমিলিংক তৈরি করার জন্য যোদ্ধা প্রভিশন স্ক্রিপ্টে কোড অন্তর্ভুক্ত করা হয়েছিল me
if [ ! -L /tmp/mysql.sock ]; then
echo "Creating symbolic link for php 7 to connect to mysql.sock"
ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
fi
নতুন নতুন সিমিলিংক জায়গায়, এর আগে দেওয়া টেস্ট স্ক্রিপ্টটি এখন পিএইচপি-র সমস্ত সংস্করণের জন্য পুরোপুরি কাজ করে এবং আমি 127.0.0.1 আইপি ঠিকানা দেওয়ার পরিবর্তে আমার কোডে লোকালহোস্ট ব্যবহার করতে পারি ।