Bir textarea PHP nakledilir Neden _POST bazen boş

5 Cevap php

PHP 4.4 ve Apache altında PHP 5.2.3 ubuntu 2.2.4.

Ben Moodle 1.5.3 çalıştırıyorum ve bir ders güncellerken son zamanlarda bir sorun vardı. $ _POST Değişkeni boş ancak metnin bir çok formda textarea içine girdi sadece. Sadece kısa bir metin girilirse iyi çalışıyor.

I have increased the post_max_size from 8M to 200M and increased the memory_limit to 256M but this has not helped. I have doubled the LimitRequestFieldSize and LimitRequestLine to 16380 and set LimitRequestBody to 0 with no improvement.

Ben bir cevap googled var ama bir tane bulmak mümkün olmuştur.

HTTP Başlıkları firefox doğru verilerle 3816 içerik boyutunu gösterir, bu yüzden onun sadece $ _POST almıyorum.

Sistem birkaç hafta önce kadar ince koşuyordu. Tek değişiklik exim4 e-posta sunucusu ile bir HELO sorunu düzeltmek için / etc / hosts oldu.

Ben bu yüzden sadece tesadüf olduğunu düşünüyorum exim4 çalıştırmayan bir kalkınma makinede sorunu çoğaltabilirsiniz.

Yardımlarınız için teşekkürler.

5 Cevap

O yazının ilgili değildir boyutta olabilir, ama ne kadar çizgi yeni bir hat öncedir olabilir. Onlar görüntülemek Moodle WYSIWYG kullanırsanız html sadece sonları hiç ile bir satır koymak olacaktı. Eğer html içine gidin ve her 1000 karakter etrafında dönüşünü vurursanız çalışır?

Aşağıdaki (en azından ben öyle umuyorum) daha iyi eğitimli tahminim bu yüzden gerçekten yararlı bir cevap vermek için yeterli bilmiyorum.

İlk olarak, firebug ile access_log veya örneğin ya, bütün isteği debug. (Zaten Firebug olması için iyi.) Bana senin sorunun sounds bir yönlendirme gibi arasında olur. Ben size bir örnek vereyim:

Bu yapı olduğunu varsayalım:

/form.php
/directory/index.php

Bu form:

<form action="/directory" method="post">
...
</form>

Bu durumda sorun /directory geçerli bir url olsa bile, Apache, /directory/ size bir kez daha yönlendirir böylece olması gerekiyordu ne (senin yükünü kaybederek yani, $_POST).

Formun enctype nedir? Veri formu aracılığıyla göndermek ve kestirmeniz sınırlar olabilir.

Ayrıca birlikte gelen ham $ _POST verileri kontrol etmek isteyebilirsiniz:

file_get_contents('php://input');

To make sure their is actually data send. Got these suggestions here.

Bir Apache veya Apache / PHP entegrasyon sorunu gibi geliyor. $ _POST Boş ise bu http sunucu PHP POST bilgi vermiyor dair ipucu olacaktır. Ben olsaydım, Apache yapılandırmasını araştırmak istiyorum.

Bu açıktır, ama sen / yeniden etc/init.d/apache2 mi?

Ayrıca, hatalar.log dosya sonrası boyut ayarlanan sınırı aştı olup olmadığı hakkında bazı bilgileri göstermek gerekir. Sorunu giderme için ayrıntı artan düşünün