سؤال

لقد كنت أبحث عن طرق لضغط مكتبات PHP، ووجدت العديد من المكتبات التي قد تكون مفيدة، لكنني لا أعرف الكثير عنها حقًا.

لقد قرأت على وجه التحديد عن مكتبات bcompiler وPHAR.هل هناك أي فائدة أداء في أي من هذه؟هل هناك أي "مسكتات" أحتاج إلى الحذر منها؟ما هي الفوائد النسبية؟هل أي منهما يضيف إلى/ينتقص من الأداء؟

أنا مهتم أيضًا بمعرفة libs الأخرى التي قد تكون موجودة وغير واضحة في الوثائق؟

جانبًا، هل يعرف أي شخص ما إذا كانت هذه الملفات تعمل بشكل أشبه بالملفات المضغوطة التي تحتوي على الكود هناك، أو إذا كانت تعمل بشكل أشبه بالتجميع المسبق لـ Python والذي يقوم في الواقع بتشغيل مترجم زائف؟

============================================================================================================

لقد سئلت ، "ما الذي تحاول إنجازه؟" حسنًا ، أفترض أن الجواب هو أن هذا كله افتراضي.وهو مزيج من هذه:

  • ماذا لو أصبح مشروعي المفضل هو مشروع الويب الأكثر شعبية على وجه الأرض وأريد توزيعه بسرعة وسهولة؟(حسنًا، يمكن للرجل أن يحلم، أليس كذلك؟) ويبدو أيضًا أنه إذا كان من الممكن استخدام PHAR بسهولة، فستكون أفضل طريقة لإنشاء لقطة تخريبية.
  • لدى Python سياسة التجميع المسبق الرائعة حقًا، وأتساءل عما إذا كان PHP لديه شيء من هذا القبيل؟يبدو أن هذه المكتبات تفعل شيئًا مشابهًا.هل سيفعلون ذلك؟
  • مرحبًا، تبدو هذه المكتبات أنيقة جدًا، لكني أرغب في توضيح الاختلافات حيث يبدو أنها تفعل نفس الشيء
هل كانت مفيدة؟

المحلول

يقوم Phar فقط بتجميع مجموعة مختارة من نصوص PHP في ملف واحد - ويمكن بعد ذلك تشغيل التطبيق الموجود دون الحاجة إلى فك حزمته أولاً.الهدف من phar ليس ترجمة التطبيق مسبقًا (من أجل السرعة) أو ضغطه (من أجل المساحة)، فقط لجعله أكثر قابلية للتوزيع.

ما الذي تحاول تحقيقه؟لا يمثل حجم ملف البرنامج النصي مشكلة أبدًا، حيث لا يأتي البرنامج النصي عبر السلك في كل مرة يتم استدعاؤه.يمكن حل السرعة عن طريق التخزين المؤقت باستخدام شيء مثل Zend أو الترجمة المسبقة باستخدام شيء مثل هيب هوب, ، الذي يدير الفيسبوك.

نصائح أخرى

يحتوي PHP أيضًا على دعم "المترجم المسبق"، ولكن هذا يسمى "ذاكرة التخزين المؤقت للكود الثانوي".يؤدي استخدام on إلى إزالة الحاجة إلى php لتحليل وتجميع ملفات .php في كل مرة، ويجب أن تستخدم واحدًا في كل مكان تقوم فيه بتشغيل تطبيقات PHP.

الأمثلة البارزة هي ناقلة جنود مدرعة و eAccelerator.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top