جديدالجمعة السوداء: خصم ٥٠٪ على دفعتك الأولى
استكشاف أخطاء ووردبريس

خطأ في إنشاء اتصال قاعدة بيانات

WordPress تحميل ، وقراءة wp-config.php ، ولم يتمكن من الحصول على إجابة من MySQL. كل صفحة على الموقع فارغة حتى تتمكن من ذلك.

Error establishing a database connection

الإجابة المختصرة

تسع مرات في عشر أوراق اعتماد في wp-config.php لم تعد تطابق قاعدة البيانات. تأكيد مع اتصال مباشر باستخدام تلك القيم الأربع بالضبط ؛ إذا كان ذلك متصلاً ، فإن المشكلة ليست بيانات الاعتماد والقسم التالي يخبرك بمكان البحث بدلاً من ذلك.

التشخيص

الأسباب الأرجح أولًا.

افحص القائمة بالترتيب. يتيح لك كل فحص تأكيد السبب أو استبعاده قبل تغيير أي شيء، لأن الحلول تختلف والتخمين يكلّف أكثر من تنفيذ أمر للتحقق.

السببكيفية التحققالإصلاح
بيانات الاعتماد الخاطئة في wp-config.phpالاتصال باليد مع نفس القيم الأربع التي يستخدمها wp-config.php. إذا فشل ذلك مع "رفض الوصول" ، فإن الملف هو المشكلة ولا شيء آخر يحتاج إلى اختبار.صحيح DB_NAME, DB_USER, DB_PASSWORD و DB_HOST. الهجرة هي السبب المعتاد لانجرافها: جلب الأرشيف قيم المضيف القديم معها.
خادم قاعدة البيانات لا يعملفشل نفس الاتصال المباشر مع "لا يمكن الاتصال" بدلا من "منع الوصول". التمييز بين هاتين الرسالتين هو التشخيص كله.ابدأ MySQL. إذا لم يكن البقاء حتى، سجل الخطأ الخاص بها أسماء السبب، وعلى استضافة مشتركة هذا السبب هو عادة الذاكرة.
قاعدة البيانات تصل إلى حد الاتصالالخطأ متقطع - يعمل الموقع ، ثم لا يفعل ذلك ، ثم يفعل. ينجح الاتصال المباشر بينما لا يزال الزوار يرون الخطأ.رفع max_connections ، أو العثور على ما هو عقد اتصالات مفتوحة. البرنامج المساعد فتح اتصال لكل طلب وأبدا إغلاقه هو الجاني المشترك.
طاولة تالفةتفشل بعض الصفحات فقط ، أو يتم تحميل wp-admin بينما لا تفعل الواجهة الأمامية. قد يقدم WordPress رابط إصلاح بدلاً من هذا الخطأ.قم بتشغيل إصلاح. تعيين WP_ALLOW_REPAIR في wp-config.php، زيارة /wp-admin/maint/repair.php، ثم إزالة ثابت - أن الصفحة لا يوجد لديه مصادقة.
DB_HOST أسماء شيء لا يمكن الوصول إليهابيانات الاعتماد صحيحة و MySQL هو ما يصل، ولكن المضيف في wp-config.php لا يحل من خادم الويب.استخدم اسم المضيف الذي يمكن أن يصل إليه خادم الويب بالفعل. على المكدسات الحاوية التي هي اسم خدمة ، وليس مضيفًا محليًا ، و localhost هو ما تحتوي عليه معظم التكوينات المهاجرة.
الدليل

الإصلاح خطوة بخطوة.

تفترض الأوامر توفر WP-CLI والوصول إلى سطر الأوامر. إن لم يتوفرا، تشرح كل خطوة الإجراء كي تنفذه من لوحة التحكم أو عبر SFTP.

  1. اقرأ ما يقوله wp-config.php في الواقع

    ليس ما تتذكره الإعداد. الثوابت الأربعة التي تهم هي بالقرب من أعلى الملف.

    grep -E "DB_(NAME|USER|PASSWORD|HOST)" wp-config.php
  2. جرب تلك القيم الدقيقة مقابل MySQL

    هذا هو الاختبار الذي يقسم المشكلة إلى قسمين. "رفض الوصول" يعني أن بيانات الاعتماد خاطئة؛ "تعذر الاتصال" يعني أن الخادم لا يجيب.

    mysql --user='DB_USER' --password='DB_PASSWORD' --host='DB_HOST' 'DB_NAME' -e 'SELECT 1;'
  3. إذا كانت بيانات الاعتماد خاطئة، فقم بتصحيحها

    تحرير wp-config.php ، أو تعيينها مع WP-CLI حتى لا تضطر إلى العثور على الاقتباسات الصحيحة بنفسك.

    wp config set DB_PASSWORD 'the-real-password'
    wp db check
  4. إذا كان الخادم معطلاً، فانظر إلى السبب قبل إعادة تشغيله

    AMySQL التي ماتت مرة واحدة سوف يموت مرة أخرى. سجل الخطأ أسماء السبب، وخارج الذاكرة هو الجواب الأكثر شيوعا على خادم صغير.

    tail -n 50 /var/log/mysql/error.log
  5. تأكيد من WordPress ، وليس من القشرة

    يثبت اتصال shell أن MySQL يمكن الوصول إليه من القشرة. فقط WordPress يمكنه إثبات أنه يمكن الوصول إليه من WordPress.

    wp db check && wp option get siteurl
على MagicWP

ما تتولاه المنصة عنك.

لا تنجرف بيانات الاعتماد هنا أبدًا ، لأن wp-config.php لا يحملها: يقرأها من البيئة باستخدام getenv () ، لذا فإن تدوير كلمة المرور هو تغيير في مكان واحد بدلاً من تعديل يجب تكراره في ملف. تعمل قاعدة البيانات في حاوية خاصة بها مع بدل الذاكرة الخاص بها ، لذلك لا يمكن لعملية PHP المزدحمة أن تجويعها ، وتعيد Fix Site تعيين موقع مسترجع في قاعدة البيانات الصحيحة في إجراء واحد.

الأسئلة الشائعة

الأسئلة الشائعة.

لماذا بدأ هذا من تلقاء نفسه، مع عدم تغيير أي شيء؟
تغير شيء ما حتى لو لم تقم بتغييره: قام مضيف بتدوير كلمة مرور ، أو نفدت ذاكرة خادم قاعدة بيانات وأعيد تشغيله ، أو قام مكون إضافي احتياطي باستعادة wp-config.php أقدم. يخبرك اختبار الاتصال المباشر أي من هؤلاء كان ، لأن رسالة الفشل تختلف.
هل يعني هذا أن بياناتي قد اختفت؟
تقريبا أبدا. الخطأ هو الوصول إلى قاعدة البيانات ، وليس حول محتوياتها. الفساد هو السبب الأقل شيوعًا في هذه القائمة ، وحتى ذلك الحين عادة ما يكون جدول واحد بدلاً من كل شيء.
هل يجب علي استخدام صفحة الإصلاح المضمنة؟
لفترة وجيزة فقط. الإعداد WP_ALLOW_REPAIR يفتح /wp-admin/maint/repair.php لأي شخص يعرف عنوان URL ، دون الحاجة إلى تسجيل الدخول ، لذا قم بإزالة الثابت لحظة انتهاء الإصلاح.
الموقع يعمل ثم يكسر كل بضع دقائق. ما هذا؟
استنفاد الاتصال بدلا من بيانات اعتماد سيئة. تنجح الطلبات في حين أن الاتصال مجاني وتفشل في حين لا شيء ، وهذا هو السبب في أنها تبدو عشوائية. ابحث عن ما الذي يحتفظ بالاتصالات بدلاً من رفع الحد والانتظار.
أخطاء مرتبطة

إن لم يكن هذا هو السبب.

قد تبدو هذه الأخطاء متشابهة في المتصفح.