لماذا يقوم ob_start('ob_gzhandler') بكسر هذا الموقع؟

StackOverflow https://stackoverflow.com/questions/5441784

  •  12-11-2019
  •  | 
  •  

سؤال

لدي موقع يعرض خطأ في تشفير المحتوى في المتصفح في حالة وجود ob_start('ob_gzhandler').إذا قمت بإزالة البيان، فإنه يعمل بشكل جيد.

  • يعمل الموقع بنفس إطار العمل والخادم وحزمة الاستضافة مثل عدد من المواقع الأخرى.كلهم يعملون، بغض النظر عما إذا كان البيان موجودًا هناك.
  • البيان موجود في الإطار وليس في كود التطبيق، لذا فهو مشترك بين جميع المواقع.
  • لا يوجد فرق في التكوين بين مواقع العمل والمواقع غير العاملة.
  • يعمل الموقع بشكل جيد محليًا، باستخدام نفس الكود والبيانات بالضبط.
  • يمكنك جلب الموقع باستخدام curl / wget، ويتم عرض HTML الذي تم إرجاعه بشكل جيد في المتصفح.
  • رؤوس الاستجابة هي نفسها تمامًا، بدون العبارة.

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

أي مؤشرات أو اقتراحات أو حلول؟

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

المحلول

عادةً ما أفعل ذلك أدناه وقد نجح الأمر بالنسبة لي، جربه

يكتب ob_end_clean(); أو ob_flush(); في أسفل الصفحة حيث تبدأ ob_start();

مراجع:

ob_end_clean();

ob_flush();

نصائح أخرى

فقط ضع هذا الخط في البداية وسيكون كل شيء على ما يرام .. giveacodicetagpre.

إذا كنت تستخدم ضغط Gzip الخاص ب Apache بالفعل (والتي من خلال نظراتها التي تقوم بها، نظرا لأن CSS / JS مضغوط بقدر ما أستطيع أن أرى)، فسيتم ضغط ob_start ('ob_gzhandler') ضغط هذا الضغط ... ولم يكن المتصفح قادرا على التعامل معه.

أنا أتحدث تحت تصحيح بالطبع كما كنت تستخدم دائما Apache للقيام بذلك بالنسبة لي، لكن يبدو أنك مضاعف للأشياء Gzging، وهذا هو السبب في أنه يعمل بدون بيان "Ob_gzhandler".

تحقق من ملفات .htaccess الخاصة بك على المواقع الأخرى ومقارنتها مع الموقع الذي تقوم بتشغيله له نفس المشكلة حيث لا أستطيع أن أرى أنك تقوم بتشغيل Drupal على Zacoders.net و Jadeit.co.za،فقط على jadeit.co.za الذي يجعلني أعتقد أنهم ليسوا نفس الإطار كما قلت هم؟ يقشعر

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