PHP / Apache her istek üzerine engelliyor?

3 Cevap php

Tamam, bu aptalca bir soru olacak ama buraya gelebilir. PHP PDF dönüştürücüler farklı HTML ile uğraşırken zaman ben diğer gün bir şey fark ettim. Bir ben (DOMPDF) benim HTML çalıştırmak için sonsuza dek sürdü çalıştı. Sonunda bu bellek bitti ve bitti ama hala çalışırken, benim diğer PHP hiçbiri tüm duyarlı. Neredeyse sanki bu tek bir isteği tüm Websunucusu bloke edildi.

Şimdi ben de sanıyorum bu doğru olamaz ya da ben bu davranışını kontrol etmek için yere bir şey ayarlama yapılmalıdır. Can Birisi lütfen ipucu me?

3 Cevap

Eğer? :) onlar aynı SESION yeniden ve bloklar bu oturumu son isteği ile serbest kadar ... bu yüzden temelde durumda (tamamlamak için birbirlerine beklemek uzun olabilir komut her biri için açık oturumları vardı yoktu pdf jeneratör çalıştıran). Eğer aynı tarayıcıyı kullanırsanız, bu geçerlidir.

İpucu pdf html istiyorum, ama PDF'leri oluşturmak için http://xmlgraphics.apache.org/fop/ FOP bakmak neden emin değil. Ben onu kullanıyorum ve harika çalışıyor .. ve hızlı :) Gerçi kendi tuhaflıklar var ediyorum.

Bu denenmiş tüm komut aynı uygulama havuzunda çalışan olduğunu olabilir. (En azından, IIS de ne denir.)

Ancak, başka bir açıklama bazı tarayıcılar tek bir bağlantı üzerinden istekleri sıraya olacaktır. Bu bana geçmişte bazı karışıklığa neden oldu. Web tarayıcısı yourdomain.com/script1.php bir yanıt bekliyor ve bu isteği yourdomain.com/script2.php başka bir pencere veya sekme açarsanız ilk istek bu {[yapım bir cevap alıncaya kadar gönderilecektir olmayacak (0)]} tüm web sunucusu asılı gibi. Bu iki ayrı tarayıcılarda iki istekleri denemek neler olup olmadığını test etmek için kolay bir yol.

Sunucu sadece istekleri tamamlamak bunalmış ve çok fazla yük altında ediliyor gibi geliyor. PHP komut dosyası etkili bir web tarayıcısı olarak aynı işlevselliği sağlamak ve PDF çizim işlevlerini kullanarak HTML işlemek için olduğu gibi bir PDF bir HTML dosyası dönüştürme, oldukça karmaşık bir süreçtir.

Ben ayrı, küçük dosyalar halinde HTML bölmek ya da sunucu PHP bağımsız doğrudan bir zamanlanmış görev olarak komut dosyasını çalıştırmak için, ya öneririm.