"Laravel SQLSTATE [HY000] [2002] تم رفض الاتصال": رحلة إلى أعماق اتصال MySQL
في عالم الويب التطوير، Laravel يقف كمنارة للأناقة والكفاءة. ومع ذلك، عندما يتعلق الأمر بالاتصال بقاعدة البيانات الخاصة بك، يمكن أن تنشأ عقبات غير متوقعة، مثل الخطأ سيئ السمعة "تم رفض الاتصال".
خذ في الاعتبار السيناريو التالي: لقد قمت بنشر مشروع Laravel الخاص بك بجدية على VPS، على أمل اظهار تألقها. ومع ذلك، أثناء محاولتك تشغيل أمر php artisan migrate، تظهر رسالة تقشعر لها الأبدان:
[Illuminate\Database\QueryException] SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = form and table_name = migrations)
يبدأ الذعر حيث يبدو أن الاتصال بقاعدة بيانات MySQL الخاصة بك قد اختفى في الهواء. لكن لا تخف، لأن هذا الخطأ يمكن أن يكون بوابة للكشف عن جواهر التكوين المخفية.
يكمن جذر المشكلة في ملف .env الخاص بك، وهو مستودع الإحصائيات الحيوية لتطبيقك. على وجه التحديد، يحمل المعامل DB_HOST مفتاح فتح اتصال قاعدة البيانات:
DB_HOST=my ip
في هذه الحالة، يؤدي استبدال "my ip" بـ "localhost" إلى إنشاء الاتصال بين Laravel وMySQL. لماذا يعمل هذا؟ لأن "المضيف المحلي" يترجم إلى عنوان الاسترجاع الداخلي لخادم VPS الخاص بك (عادة 127.0.0.1)، والذي يسمح للتطبيق بالتواصل مع نفسه.
مع هذا التعديل البسيط، سيستعيد مشروع Laravel الخاص بك اتزانه وأناقته. تقبل تحدي هذا الخطأ، لأنه مهد الطريق لفهم أعمق لاتصال قاعدة البيانات في Laravel.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3