Amir Alsaeed نشر 16 مارس 2021 أرسل تقرير نشر 16 مارس 2021 لقد قمت بإنشاء مشروع جديد لارافيل بنجاح، ولكن عند إنشاء اتصال عبر SSH لإجراء الأوامر الأساسية على قاعدة البيانات مثل التهجير أو البذر: php artisan migrate php artisan db:seed تظهر لدي رسالة الخطأ التالية: [PDOException] SQLSTATE[HY000] [2002] No such file or directory كيف يمكنني حل هذه المشكلة؟ اقتباس
0 بلال زيادة نشر 16 مارس 2021 أرسل تقرير نشر 16 مارس 2021 تشير رسالة الخطأ إلى أنه تمت تجربة اتصال MySQL عبر Socket (وهو أمر غير مدعوم). يمكنك استخدام بيئة مختلفة و تنفيذ الأمر التالي php artisan migrate --env=production يمكنك في Laravel 5 من تغيير قيمة DB_HOST في ملف .env من localhost إلى 127.0.0.1 1 اقتباس
0 Sam Ahw نشر 16 مارس 2021 أرسل تقرير نشر 16 مارس 2021 يختلف حل هذه المشكلة تبعاً لاختلاف نظام التشغيل أو البيئة التي يتم الاتصال عبرها وتنفيذ الأوامر، ولكن من الحلول المقترحة. فقد تظهر نتيجة عدم التمكن من تحديد الاتصال ضمن ملف .env وذلك بسبب تحديد بيئة مغايرة أثناء التطوير عن البيئة الحالية وبذلك يمكن تنفيذ الأمر التالي: php artisan migrate --env=production وبذلك سيتم أخذ قيم المتغيرات بشكل صحيح من ملف .env في حال كانت للنشر production. من إحدى الحلول أيضاً هو بتغيير قيمة DB_HOST من localhost إلى 127.0.0.1 والسبب في ذلك هو أن localhost يستخدم UNIX socket، أما 127.0.0.1 يستخدم TCP وهو Transmission Control Protocol والذي يجري عبر الانترنت. في حال لم تجدِ الطرق السابقة نفعاً، يمكن أن يكون ذلك بسبب اعتماد نسخة قديمة من mysql، ولذلك يجب التأكد من الإعدادات الموجودة عن طريق الدخول إلى خادم قواعد البيانات mysql و إجراء الأمر التالي: show variables like '%sock%' ثم أخذ القيمة التالية التي ستظهر نتيجة تنفيذ الأمر: /tmp/mysql.sock ثم التوجه إلى ملف database.php في مشروع لارافيل ووضع القيمة ضمن اتصال mysql كالتالي: 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'SchoolBoard', 'username' => 'root', 'password' => 'venturaa', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'unix_socket' => '/tmp/mysql.sock', ), 1 اقتباس
السؤال
Amir Alsaeed
لقد قمت بإنشاء مشروع جديد لارافيل بنجاح، ولكن عند إنشاء اتصال عبر SSH لإجراء الأوامر الأساسية على قاعدة البيانات مثل التهجير أو البذر:
php artisan migrate php artisan db:seed
تظهر لدي رسالة الخطأ التالية:
[PDOException] SQLSTATE[HY000] [2002] No such file or directory
كيف يمكنني حل هذه المشكلة؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.