هل تريد البدء باستخدام Better WP-Config في أسرع وقت ممكن ؟
define()
أفضل لجميع الثوابت التي يتطلبها WordPress الأساسية لك.php
أو ملف .env
أو ملف JSON
.db
و debug
و error
و salts
وما إلى ذلك.define()
مقابل ini_set()
وما إلى ذلك.define()
التي يحتاجها أي مكون إضافي أو سمةprivate
لمضيفي الويب المُدارين لتخزين التكوينABSPATH
(على سبيل المثال WP core) على جذر الويب أو /wp
أو أي دليل فرعي آخرWP_CONTENT_DIR
على /wp-content
أو /app
أو أي دير فرعي آخرlocal
، test
، stage
، prod
، وما إلى ذلك.HTTP_HOST
بواسطة التعبير العاديsecrets
)index.php
أو wp-config.php
$_ENV
أو $_SERVER
أو getenv()
private
wp_config()->print_config();
(ملاحظة: ما يلي لن يكون صحيحا حتى ننتهي من هذه المسألة. وحتى ذلك الحين، راجع بدايتنا السريعة)
ما عليك سوى إنشاء ملف باسم /wp-content/config/config.php
وإضافة تكوين موقعك باستخدام التنسيق هنا:
<?php
return array(
'db[name]' => 'example_db',
'db[user]' => 'example_user',
'db[pass]' => '1234567890abcdef',
'db[charset]' => 'utf8mb4_unicode_ci',
'db[collate]' => 'utf8mb4',
'db[host]' => 'localhost',
'db[table_prefix]' => 'wp_',
'defines' => array(
'CONSTANT_REQUIRED_BY_A_PLUGIN' => 'it's value'
),
);
ستحتاج أيضًا إلى استبدال /index.php
و /wp-config.php
الخاصين بموقعك ببدائل بسيطة جدًا يمكنك العثور عليها هنا وهنا، على التوالي.
ومع ذلك، قبل أن تضع افتراضات خاطئة:
يمكن لـ WP-Config الأفضل تحميل ملفات التكوين من ../config
أو /private/config
أو من أي مكان تريده.
إذا كنت من محبي فصل التكوين والتعليمات البرمجية، فيمكنك ضبط file_format
على 'env'
.
قد يبدو الأمر بسيطًا - وقد تم تصميمه لتسهيل البدء - ولكن تم تصميم Better WP-Config للتعامل مع متطلبات التكوين المعقدة للغاية. بمجرد البدء ومواجهة حالات استخدام أكثر تعقيدًا مثل البيئات المتعددة والنشر الآلي، ستلاحظ مدى مرونة وقوة Better WP-Config حقًا.
قد تتساءل عن المشكلة التي يحاول Better WP-Config حلها. قد تسأل: "لماذا نحتاج إلى حل أفضل لتكوين WordPress؟" حسنًا، نحن بحاجة إلى واحدة لأننا وجدنا أن عددًا كبيرًا جدًا من حالات الاستخدام التي تتجاوز الحالات التافهة تتطلب حلاً أفضل للتكوين. اقرأ على:
يعد WordPress نظام إدارة محتوى رائعًا، ولكنه يتجاهل احتياجات مطوري WordPress الذين يرغبون في استخدام سير عمل أكثر احترافية كما هو الحال مع test
/ stage
/البيئات live
. تم تصميم تكوين WordPress الافتراضي لإدارة التكوين لبيئة واحدة؛ إذا كنت ترغب في إدارة المزيد، فيجب عليك إنشاء حل التكوين متعدد البيئات الخاص بك.
يسمح لك WordPress بتخزين التكوين في wp-config.php
في جذر الويب، أو على مستوى دليل واحد أعلاه. على الرغم من أنه يمكنك تخزين التكوين الخاص بك في ملف آخر ثم require()
في wp-config.php
(وهو ما يفعله Better WP-Config )، فإن اختراق حل مخصص معًا يعني أنك ستحتاج أيضًا إلى توثيقه وصيانته، على افتراض أنك تريد الاعتماد عليه في المستقبل.
وإذا واجهت صعوبة في تطوير وتوثيق حل مثل Better WP-Config، فستكون قد استثمرت الوقت (والمال؟) في نسخ ما كان من المفترض أن تستخدمه للتو دون أي جهد للتطوير والتوثيق.
ومما يزيد الطين بلة أن كل مضيف يديره WordPress - مثل Pantheon وWPEngine - يقدم كل منهم حلول التكوين غير المتوافقة بشكل تعسفي لدعم عرض WordPress المُدار الخاص بهم.
إليك كيفية تعامل العديد من مضيفي الويب المُدارة بواسطة WordPress و/أو تقييدك باستخدام wp-config.php
.
إذا كنت على دراية بكيفية تعامل مواقع WordPress المُدارة الأخرى مع wp-config.php
فيرجى التفكير في إرسال طلب سحب مع وثائق حول كيفية تعاملهم مع wp-config.php
لمساعدتنا والآخرين.
أي شخص عمل مع WordPress يعرف كيفية تكوين بيانات اعتماد قاعدة بيانات WordPress عبر ثوابت PHP DB_HOST
و DB_NAME
و DB_USER
و DB_PASSWORD
. يبدو هذا بسيطًا وسهلاً عندما تبدأ العمل مع WordPress لأول مرة، ولكن بمرور الوقت تدرك أنه يجعل التكوين غير مرن للغاية لأنه لا يمكنك تتابع التكوينات من إعدادات WordPress الافتراضية، والإعدادات الافتراضية لمشروعك، إلى تفاصيل بيئتك وأخيرًا إلى تكوين مضيف الويب الخاص بك.
لا يلغي WPConfig الأفضل استخدام الثوابت غير القابلة للتغيير، بل ينتظر بدلاً من ذلك حتى يتم دمج كل التكوينات المتتالية قبل define()
هذه الثوابت. (ولكن قد تكون هذه خطوة أولى للقضاء على استخدام ثوابت PHP define()
d من WordPress. إنها فكرة، لأن ثوابت PHP غير القابلة للتغيير تجعل الاختبار الآلي لوظائف WordPress أصعب بكثير مما ينبغي.)
لسوء الحظ، لا توجد طريقة بسيطة للعثور على جميع الخيارات المتاحة لـ WordPress الأساسية نظرًا لأنها مضمنة في قاعدة تعليمات WordPress والمواقع الموثقة المختلفة عبر الإنترنت. يعمل WP-Config الأفضل (في الغالب) على حل هذه المشكلة باستخدام "wp_config()->print_config()
، المشابه لـ phpinfo()
لا تحتوي الكثير من خيارات التكوين على إعدادات افتراضية، مثل تكوين قاعدة البيانات الذي يضيف إلى التعلم المطلوب للتنمية المحلية. يوفر WP-Config الأفضل خيارات افتراضية لجميع الخيارات "المعروفة" .
يمكنك في حد ذاته التوصل إلى مجموعة من الاتفاقيات العملية لتتمكن من التحكم في إصدار التكوين الخاص بك لجميع البيئات المختلفة التي يحتاجها مشروعك - لقد فعلنا ذلك - ولكنك تدرك بعد ذلك أن كل مضيف ويب يتعامل معها بشكل مختلف ويحاول ما تستطيع ، تشعر أنه من المستحيل العثور على حل واحد متسق يمكن لفريقك استخدامه والذي سيعمل مع مضيفي الويب المختلفين الذين اخترتهم أنت وعملاؤك.
لفهم سبب صعوبة ذلك بشكل أفضل، تأكد من قراءة كيفية تعامل Pantheon وWPEngine مع ملفات wp-config.php
، على التوالي.
وأخيرًا، فإن المشكلات المتعلقة بسير العمل الاحترافي وحالات استخدام التحكم في الإصدار التي تفاقمت بسبب الاختيارات غير المتوافقة التي قام بها مضيفو ويب WordPress المُدارون ببساطة بسبب الافتقار إلى توحيد معايير wp-config.php
تجعل النشر أصعب مما يجب. ينطبق هذا سواء كنت تستخدم تحميل SFTP، أو نشر Git مثل Pantheon، أو النشر عبر موفر التكامل المستمر مثل CircleCI.
والخبر السار هو أن Better WP-Config يحل (تقريبًا) كل هذه المشكلات اليوم! ابدأ .
نحن سعداء حقًا بمدى جودة WP-Config . ومع ذلك، يمكن أن تكون الأمور:
من الرائع أن تعتمد شوكتا ClassicPress وCalmPress تهيئة WP أفضل للتكوين،
والأفضل من ذلك أن يقوم مضيفو الويب المُدارون بواسطة WordPress بتوحيد معايير WP-Config الأفضل لخدماتهم، أو
والأفضل من ذلك كله هو أن يستخدم WordPress نفسه Better WP-Config لعمليات التثبيت الجديدة، مع الحفاظ على الدعم المستمر للمواقع الحالية التي تستخدم بالفعل wp-config.php
كما كان الحال منذ سنوات.
GPLv2