قبل أن تبدأ في الإبلاغ عن مشكلة جديدة في مستودع GitHubGitHub GitHub هو موقع إلكتروني يوفّر تنفيذًا عبر الإنترنت لمستودعات git يمكن للمطورين الآخرين مشاركتها ونسخها وتعديلها بسهولة. استضافة المستودعات العامة مجانية، بينما تتطلب المستودعات الخاصة اشتراكًا مدفوعًا. قدّم GitHub مفهوم «طلب السحب»، حيث يمكن مراجعة تغييرات التعليمات البرمجية التي يجريها المساهمون في الفروع ومناقشتها قبل دمجها بواسطة مالك المستودع. https://github.com/، تأكد من فحص التثبيت المحلي لديك، إذ قد تؤدي بعض الإعدادات عادةً إلى نتيجة غير متوقعة لأوامر WP-CLIWP-CLI WP-CLI هي واجهة سطر الأوامر الخاصة بـ WordPress، وتُستخدم لتنفيذ المهام الإدارية ومهام التطوير بطريقة برمجية. صفحة المشروع هي http://wp-cli.org/ https://make.wordpress.org/cli/ الخاصة بك.
كيف يمكنني الحصول على معلومات أكثر تفصيلًا حول تثبيت WP-CLI الخاص بي؟
يوفّر WP-CLI الأمر wp --info، الذي يزوّدك بالكثير من المعلومات حول بيئة تثبيت WP-CLI لديك. سيخبرك الناتج بما يلي:
* نظام التشغيل والصدفة اللذان تعمل عليهما
* أي ملف ثنائي لـ PHPPHP PHP (اختصار تكراري لـ PHP: Hypertext Preprocessor) هي لغة برمجة نصية عامة الاستخدام ومفتوحة المصدر، تُستخدم على نطاق واسع، ومناسبة بشكل خاص لتطوير الويب ويمكن تضمينها في HTML. https://www.php.net/manual/en/index.php يُستخدم لتشغيل WP-CLI
* إصدار PHP المستخدم
* مكان العثور على الدليل الجذر لـ WP-CLI
* مكان العثور على دليل vendor الخاص بـ WP-CLI
* ملف WP-CLI الثنائي الذي تعمل معه حاليًا (مسار phar)
* مكان تخزين حزم WP-CLI
* مكان العثور على ملفات التكوين العامة وملفات تكوين المشروع الخاصة بـ WP-CLI، و
* إصدار WP-CLI الذي تستخدمه.
ماذا ينبغي أن أفعل قبل أن أبدأ في تصحيح المشكلات؟
قبل أن تبدأ في تصحيح المشكلات، تأكد من أنك تستخدم أحدث إصدار من WP-CLI. قد يكون الإصدار الأحدث قد حل بالفعل مشكلة تواجهها. سيعمل الأمر wp cli update على ترقية إصدار WP-CLI لديك أو تأكيد أنك تستخدم أحدث إصدار بالفعل. إذا توقف التثبيت، فتأكد من أنه مسموح لك بالاتصال بـ GitHub باستخدام SSLSSL طبقة المقابس الآمنة – تشفير من الخادم إلى المتصفح والعكس. يمنع المتطفلين من رؤية ما ترسله بين متصفحك والخادم. (المنفذ 443) وgit (المنفذ 9418) للاتصالات الصادرة.
ماذا ينبغي أن أفعل إذا كان ناتج WP-CLI مختلفًا عما هو متوقع؟
قبل البدء في التحقيق في خطأ، ينبغي أن تكون على دراية بالعوامل التي يمكنها تغيير السلوك الافتراضي لـ WP-CLI وكيفية التحقق مما إذا كانت قد تكون سبب المشكلة. هناك خمسة أنظمة فرعية رئيسية لتعديل هذا السلوك الافتراضي: متغيرات البيئة، وملفات التكوين، وحزم WP-CLI، وملف wp-config.php، وإضافات WordPress (الإضافات، والقوالب، والإضافات التي يجب استخدامها، وملفات drop-in).
متغيرات البيئة
يُعد إعداد بيئة العمل شرطًا أساسيًا لتشغيل WP-CLI. يمكنك التحقق من إعدادات بيئتك الحالية باستخدام أمر الصدفة env.
إذا كنت تريد تشغيل WP-CLI عن بُعد باستخدام SSHSSH الصدفة الآمنة – بروتوكول للاتصال الآمن بنظام بعيد، بالإضافة إلى كلمة مرور أو بدلًا منها.، فيلزم أن يكون الأمر wp متاحًا في مسار الخادم البعيد. يمكن أيضًا تغيير سلوك WP-CLI أثناء التشغيل من خلال استخدام متغيرات البيئة:
WP_CLI_CACHE_DIR– دليل تخزين ذاكرة التخزين المؤقت لملفات WP-CLI. الإعداد الافتراضي هو~/.wp-cli/cache/.WP_CLI_CONFIG_PATH– مسار ملفconfig.ymlالعام. الإعداد الافتراضي هو~/.wp-cli/config.yml.WP_CLI_CUSTOM_SHELL– يتيح للمستخدم تجاوز الصدفة الافتراضية/bin/bashالمستخدمة.WP_CLI_DISABLE_AUTO_CHECK_UPDATE– تعطيل عمليات التحقق التلقائي من تحديثات WP-CLI.WP_CLI_DOCKER_NO_TTY– تجاهل حالة tty المكتشفة وإزالة العلامة--ttyمنdocker execعند تشغيل WP-CLI على حاوية docker عبر ssh.WP_CLI_DOCKER_NO_INTERACTIVE– تجاهل حالة tty المكتشفة وإزالة العلامة--interactiveمنdocker execعند تشغيل WP-CLI على حاوية docker عبر ssh.WP_CLI_PACKAGES_DIR– دليل تخزين الحزم المثبتة من خلال إدارة حزم WP-CLI. الإعداد الافتراضي هو~/.wp-cli/packages/.WP_CLI_PHP– مسار ملف PHP الثنائي المطلوب استخدامه عند تجاوز الإعداد الافتراضي للنظام (يعمل فقط مع التثبيت غير المعتمد على Phar).WP_CLI_PHP_ARGS– الوسائط التي تُمرر إلى ملف PHP الثنائي عند استدعاء WP-CLI (تعمل فقط مع التثبيت غير المعتمد على Phar).WP_CLI_SSH_PRE_CMD– عند استخدام--ssh=<ssh>، نفّذ أمرًا قبل أن يستدعي WP-CLI نفسه على الخادم البعيد.WP_CLI_SSH_BINARY– عند استخدام--ssh=<ssh>، هذا هو الأمر الذي سيُستدعى على الجهاز البعيد بدلًا منwp.WP_CLI_STRICT_ARGS_MODE– تجنب الالتباس بإخبار WP-CLI بمعاملة أي وسائط قبل الأمر على أنها عامة، وبعد الأمر على أنها محلية.WP_CLI_SUPPRESS_GLOBAL_PARAMS– اضبطه علىtrueلتخطي عرض الوسائط العامة في نهاية شاشة المساعدة. يوفر ذلك مساحة على الشاشة للمستخدمين المتقدمين.WP_CLI_FORCE_USER_LOGIN– اضبطه على1لإجبار القيمة المقدمة إلى العلامة--userعلى تفسيرها كاسم تسجيل دخول بدلًا من معرّف، لتجنب الأنواع الملتبسة.WP_CLI_EARLY_REQUIRE– تحميل ملف PHP مخصص واحد أو أكثر (مفصولة بفواصل) مبكرًا أثناء عملية التمهيد.WP_CLI_REQUIRE– تحميل ملف PHP مخصص واحد أو أكثر (مفصولة بفواصل) بعد عملية التمهيد. له التأثير نفسه للوسيط--requireفي سطر الأوامر أو لتعيينrequireفي ملف إعداد wp-cli.yml.WP_CLI_USER_AGENT– يعيّن قيمة$_SERVER['HTTP_USER_AGENT']التي تعتمد عليها بعض الإضافات والأدوات.
لتعيين متغير بيئة عند الطلب، يمكنك وضع تعريف متغير البيئة قبل أمر WP-CLI الذي تريد تشغيله (مثلًا EDITOR=vim wp post edit 1)؛ ولتجاوز متغيرات البيئة، استخدم export VARIABLE=value في ملف ~/.bashrc أو ~.zhsrc.
ملفات تكوين WP-CLI
تتيح لك ملفات التكوين تخصيص سلوك WP-CLI ليتوافق مع احتياجاتك الشخصية أو احتياجات مشروعك. إذا كان ملف التكوين غير صحيح أو يتضمن تعديلات غير مرغوبة على السلوك الافتراضي، فمن المرجح أن يعكس ناتج WP-CLI الخطأ.
لاحظ أن ملف تكوين المشروع يمكنه تجاوز الإعدادات الموجودة في ملف التكوين العام.
أعد تسمية ملف أو ملفات التكوين أو احذفها وقارن النتيجة لمعرفة ما إذا كان أحد إعدادات التكوين قد تسبب في المشكلة.
حزم WP-CLI
حزم WP-CLI هي مشاريع تديرها المجتمعات ومبنية على WP-CLI. يمكن أن تحتوي على أوامر WP-CLI، لكنها قد تقتصر أيضًا على توسيع WP-CLI بطريقة ما. رغم أن WP-CLI قد يعمل بشكل مثالي، فإن الحزمة التي تحتوي على أخطاء يمكن أن تسبب نتائج غير متوقعة أيضًا. لتخطي تحميل جميع الحزم المثبتة، استخدم wp --skip-packages.
ملف تكوين WordPress (wp-config.php)
قد تنتج الأخطاء عن نقل wp-config.php أو تحريره بما يتجاوز ما يدعمه WP-CLI. إذا حصلت على خطأ في التحليل، فتحقق من ترميز ملف wp-config.php (UTF-8 بدون BOM).
تأكد من بقاء السطر require_once(ABSPATH . 'wp-settings.php'); في ملف wp-config.php، ولا تعدّل wp-config.php بما يتجاوز تعريفات الثوابت. إذا استدعيت دوال WordPress داخل wp-config.php، فسيفشل PHP بخطأ فادح.
إذا كنت تريد استخدام $_SERVER['HTTP_HOST'] في wp-config.php، فستحتاج إلى تعيين قيمة افتراضية في سياق WP-CLI:
if ( defined( 'WP_CLI' ) && WP_CLI && ! isset( $_SERVER['HTTP_HOST'] ) ) {
$_SERVER['HTTP_HOST'] = `example.com';
}
بدلًا من $_SERVER['document_root']، استخدم dirname( __FILE__ ) أو ما شابه.
إضافات WordPress
قد تتعارض قوالب WordPress وإضافاته مع عملية تحميل WP-CLI أو تتداخل معها، مثلًا عن طريق إعادة توجيه المستخدمين. وغالبًا ما تفترض أمورًا غير صحيحة في سياق WP-CLI، مثل استخدام اسم مضيف الطلب الحالي (وهو مفهوم غير موجود في سياق سطر الأوامر).
يمكنك تجاوز إضافات وقوالب منفردة (مثل --skip-plugins=akismet) أو تخطيها بالكامل (wp --skip-plugins --skip-themes).
ماذا ينبغي أن أفعل إذا أبلغ WP-CLI عن خطأ؟
تنتج المشكلات الشائعة عادةً عن تغييرات في wp-config.php أو في تكوين خادم الويب. يسرد قسم «المشكلات الشائعة» من الدليل رسائل الخطأ الأكثر شيوعًا ويشرح كيفية التعامل مع هذه الأخطاء.
حاول إعادة إنتاج المشكلة في تثبيت جديد من WordPress باستخدام قالب افتراضي (Twenty …) ومن دون تثبيت أي إضافات. إذا لم تتكرر المشكلة إلا في بيئة مخصصة، فالمشكلة خطأ في بيئتك وليست في WP-CLI. تأكد أيضًا من تمكين وضع تصحيح أخطاء WordPress عن طريق تعيين الثابت define( 'WP_DEBUG', true ); في wp-config.php. قد يكشف ذلك عن مشكلات في تثبيت WordPress الحالي لديك، وليس سببها WP-CLI.
بالإضافة إلى ذلك، يمكنك استخدام الوسيط العام لـ WP-CLI، --debug، لعرض جميع أخطاء PHP وإضافة مزيد من التفاصيل إلى عملية تمهيد WP-CLI.
لقد تحققت من كل ما سبق، لكن ما زالت لدي مشكلة. أين يمكنني الإبلاغ عن المشكلات؟
إذا كنت تعتقد أنك عثرت على خطأ، فسيسعدنا أن تخبرنا به لنتمكن من إصلاحه.
تتم معالجة الإبلاغ عن أخطاء WP-CLI على GitHub. قبل إنشاء مشكلة جديدة، يُرجى البحث في المشكلات الحالية لمعرفة ما إذا كان هناك حل موجود لها. إذا لم تكن هناك مشكلة مفتوحة أو مُصلحة تتعلق بخطئك، فيُرجى اتباع إرشاداتنا لإرسال تقرير خطأ لضمان معالجته في الوقت المناسب. سيساعد تقديم الملخص، وخطوات إعادة الإنتاج، وتفاصيل البيئة، والمعلومات الأخرى المحددة أدناه في ضمان إرسال تقرير خطأ متكامل.
يُرجى تزويدنا بما يلي:
* ملخص للمشكلة في صيغة سردية،
* قائمة مفصلة ومحددة بخطوات إعادة إنتاج المشكلة،
* تفاصيل البيئة التي تعمل عليها،
* وصف لكيفية تأثير الخطأ في استخدامك (أي مقارنة النتائج المتوقعة بالنتائج الفعلية)، بما في ذلك * مستوى الخطورة،
* الحلول البديلة المحتملة، و
* معلومات التشخيص ذات الصلة، مثل تقارير التعطل أو تتبعات المكدس أو ناتج التصحيح.
يمكنك العثور على وصف مفصل لهذه التفاصيل الخاصة بتقرير المشكلة في إرشادات إرسال تقرير خطأ.