عندما تعمل MySQL محليًا على منفذ غير افتراضي مثل 3308 بدل 3306، لا يكفي أن تغيّر إعداد الخادم فقط. يجب أن يعرف ووردبريس المنفذ نفسه في wp-config.php. استخدمنا ذلك عند إعادة تشغيل قاعدة الاختبار المحلية لمشروعنا، ثم تحققنا من فتح الموقع بنجاح.
متى تحتاج منفذًا مختلفًا؟
الأكثر شيوعًا أن تكون لديك خدمة MySQL أخرى تستخدم 3306، أو تعمل بنسخة محلية ثانية حتى لا تؤثر في مشروع آخر. في هذه الحالة لا تغيّر مشروعًا قائمًا عشوائيًا؛ اختر منفذًا متاحًا وسجّل إعداداته مع اسم قاعدة البيانات.
الإعداد الذي يحتاجه ووردبريس
في ملف wp-config.php الموجود في جذر الموقع، تكون بيانات الاتصال مثل الآتي:
define( 'DB_NAME', 'gzkhabar_local' );
define( 'DB_USER', 'local_user' );
define( 'DB_PASSWORD', 'local_password' );
define( 'DB_HOST', '127.0.0.1:3308' );
النقطة المهمة هي السطر الأخير: نضع المضيف والمنفذ معًا. توثيق ووردبريس يورد الصيغة نفسها للمنافذ البديلة مثل 127.0.0.1:3307.
لماذا نستخدم 127.0.0.1 بدل localhost في هذا المثال؟
كلاهما يعمل في حالات كثيرة، لكن 127.0.0.1:3308 يوضح أننا نريد اتصال TCP إلى هذا المنفذ تحديدًا. في بعض البيئات يعامل النظام localhost بطريقة مختلفة أو يحاول استخدام socket؛ لذلك يكون العنوان الرقمي مفيدًا عند تشخيص مشكلة المنفذ المحلي.
خطوات اختبار مرتبة
- شغّل MySQL على المنفذ الذي اخترته وتأكد أنه يستمع على 127.0.0.1 فقط.
- أنشئ قاعدة بيانات فارغة بترميز
utf8mb4. - ضع اسم القاعدة والمستخدم وكلمة المرور و
DB_HOSTفي wp-config. - افتح الموقع المحلي. إذا كانت هذه أول مرة، سيظهر تثبيت ووردبريس؛ وإذا كان مثبتًا ستفتح الصفحة أو الإدارة.
- تحقق من خدمة MySQL نفسها بأمر بسيط مثل
SELECT VERSION();بدل افتراض أنها ما زالت تعمل.
نتيجة تجربتنا
بدأنا خدمة MySQL 8.4.3 على 127.0.0.1:3308، وأنشأنا قاعدة gzkhabar_local بترميز utf8mb4، ثم حدّثنا DB_HOST. بعدها شغّلنا ووردبريس، أنشأنا صفحات الموقع والمقالات، وفحصنا الصفحة الرئيسية فاستجابت برمز 200.
أخطاء شائعة
- تغيير المنفذ في MySQL ونسيان wp-config: سيستمر ووردبريس في محاولة المنفذ القديم.
- تشغيل خدمة ثم إغلاقها: ظهور «Error establishing a database connection» قد يعني ببساطة أن MySQL متوقفة.
- استخدام root بلا كلمة مرور في موقع حي: هذا غير مقبول في الاستضافة. أنشئ مستخدمًا محدود الصلاحيات وكلمة مرور قوية لكل قاعدة إنتاج.
- فتح MySQL على الشبكة دون حاجة: في جهاز التطوير اربطها بـ 127.0.0.1 ما لم تكن تحتاج وصولًا شبكيًا وتفهم تبعاته.
- نسخ wp-config المحلي إلى الخادم: ملف الإنتاج يحتاج بياناته ومفاتيحه وأوضاعه الخاصة، ولا يحمل عناوين localhost أو إعدادات debug المحلية.
هل أعدّل wp-config من لوحة ووردبريس؟
لا. هذا الملف يقع خارج المحتوى المعتاد في قاعدة البيانات، ولذلك تحتاج وصولًا إلى ملفات البيئة المحلية أو مدير الملفات في الاستضافة. لا تنشر محتوى wp-config أو لقطة تظهر كلمة المرور في مقال أو مجموعة دعم.