سؤال

أخطط لاستخدام PHP في بيئة مضمنة. خادم الويب الحالي الخاص بنا هو thttpd. أنا أفكر الآن في خيارين: سواء كنت أقوم بتشغيله كوحدة CGI أو كوحدة SAPI. أعلم أن CGI لديه ميزة من حيث الأمن. ولكن إذا أردنا استخدام PHP كـ CGI ، فيجب تحميل مثيل PHP في الذاكرة لكل طلب.

لقد حاولت تجميعها كوحدة SAPI من THTTPD ولاحظت أن استخدام ذاكرة THTTPD ، على وجه التحديد RSS ، لا يزداد مع زيادة عدد الطلبات.

هل يمكن لأي شخص أن يشرح كيف يحمل THTTPD PHP؟ هل تم تحميله مرة واحدة فقط ويبقى مقيمًا في الذاكرة طالما أن THTTPD قيد التشغيل؟ إذا كان الأمر كذلك ، فقد نعتبر هذا بديلاً عن CGI.

هل يقوم متعدد الخيوط ، أي إذا كان هناك طلب HTTP متعددة في نفس الوقت؟ أم أنها تطلب واحدة في كل مرة؟

هل هناك وثائق جيدة تناقش سلوك PHP كوحدة من THTTPD؟

هل كانت مفيدة؟

المحلول

ليس لدي أي خبرة مع thttpd ، ولكن إليك بعض المؤشرات:

  • محرك PHP آمن ، لكن بعض الامتدادات ليست كذلك ، لذلك عادة ما يخجل الناس من استخدامه في بيئة متعددة الخيوط وبدلاً
  • نعم ، عادةً ما تعمل وحدات خادم الويب (مثل apache mod_* stuff) عن طريق البقاء المقيمين ، ولكن Big Speedbump لـ PHP هو أنه يحتاج إلى تحليل الملف المصدر (أو حتى ملفات مصدر متعددة إذا كنت تتضمن / تتطلب) لكل طلب. يمكنك تقليل هذا باستخدام شيء مثل APC الذي يقوم بتخزين النسخة المحسورة من الملفات
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top