"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني بشكل موثوق تحديد ما إذا كان برنامج PHP الخاص بي يعمل من سطر الأوامر أو عبر HTTP؟

كيف يمكنني بشكل موثوق تحديد ما إذا كان برنامج PHP الخاص بي يعمل من سطر الأوامر أو عبر HTTP؟

تم النشر بتاريخ 2024-12-21
تصفح:321

How Can I Reliably Determine if My PHP Script is Running from the Command Line or via HTTP?

تحديد تنفيذ سطر الأوامر مقابل تنفيذ HTTP في PHP

من المهام الشائعة في تطوير البرنامج النصي PHP تحديد نوع بيئة التنفيذ، سواء كانت يتم تشغيل البرنامج النصي عبر سطر الأوامر أو عبر HTTP. تعتبر هذه المعرفة ضرورية لاتخاذ قرارات تنسيق المخرجات وتخصيص السلوك وفقًا لذلك.

الطريقة التقليدية للتحقق من وجود SERVER['argc'] غير موثوقة، حيث يمكن ملؤها حتى عند استخدام 'Apache'. 2.0 واجهة برمجة تطبيقات خادم المعالج. الطريقة الأساسية لحل هذا الاستعلام هي استخدام الدالة php_sapi_name() .

if (php_sapi_name() == "cli") {
    // In cli-mode
} else {
    // Not in cli-mode
}

توفر وظيفة php_sapi_name() نطاقًا واسعًا من قيم الإرجاع المحتملة، بما في ذلك aolserver وApache وApache2filter وApache2handler وcaudium وcgi وcli وwebjames وغيرها. ارجع إلى وثائق PHP للحصول على قائمة شاملة.

علاوة على ذلك، في PHP >= 4.2.0، فإن الثابت المحدد مسبقًا PHP_SAPI يحمل نفس قيمة php_sapi_name(). من خلال استخدام هذا الثابت، يمكن للمطورين تحسين إمكانية قراءة التعليمات البرمجية وقابلية صيانتها.

من خلال الالتزام بهذا النهج الأساسي، يمكن لمطوري PHP تحديد بيئة تنفيذ البرامج النصية الخاصة بهم بشكل موثوق، مما يسمح بتنسيق الإخراج المستهدف وتعديلات السلوك المخصصة.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3