Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pusta tablica $_POST a php jako CGI
Forum PHP.pl > Forum > Serwery WWW > Apache
Jojo
Ostatnio spotkałem się z bardzo dziwnym problemem próbując uruchomić moją aplikację napisaną w PHP5 na pewnym serwerze hostingowym. Na rzeczonym serwerze zainstalowane są równolegle PHP4 i PHP5. Czwórka jako moduł Apacha, piątka jako CGI.

Problem polega na tym, że żadne dane wysyłane przy pomocy metody post nie docierają do php. Tablice $_POST i $HTTP_POST_VARS, a nawet ciąg $HTTP_RAW_POST_DATA pozostają puste. Napisałem w tej sprawie mail do administratora i otrzymałem taką oto odpowiedź:
Cytat
Problem jest znany od dawna i omawiany na roznych forach programistow php.
Do tej pory nie ma na to zadnego "lekarstwa". Problem dotyczy dzialania
metody
POST "mieszajac" ja razem z GET w PHP5 w specyficznej konfiguracji Apache
PHP4 modul + PHP5 cgi. Zapewne Panstwo orientujecie sie co do ograniczen
niosacych za soba taki sposob instalacji, niestety poza proxy/port
forward nie ma
ZADNEJ innej mozliwosci jednoczesnej kompilacji tych dwoch wersji
interpretera
tegoz jezyka sad.gif

Jedyne co mozna zrobic, to "nie mieszac" metod w jednym "zapytaniu" - to
wystarcza
w 100%, formularze beda dzialac poprawnie, kwestia poprawki kodu lezy po
stronie
programisty i nie zajmuje wiecej niz 5 minut w zaleznosci od stopnia
zlozonosci.

Po tym mailu przeszukałem dokładnie Google, różne fora i inne źródła, ale nie znalazłem na ten temat żadnej informacji. Czy mógłby ktoś mi wyjaśnić o co tu chodzi i w jaki sposób obejść ten, rzekomo znany, problem?
Fo
a mógłbyś wkleić kawałek kodu z którym masz problem ?

szczerze, sam mam maszynę na której jest php4(modul)+php5(CGI) i nie miałem do tej pory takiego zgłoszenia... tymbardziej iż na maszynie pracuje zespół developerski sporo działający w php5 i php4.

pozdrawiam,
Fo
mike
Pozwolę sobie za ~Joja wkleić, bo jestem trochę zamieszny w sprawę, a to przyspieszy może zdobycie odpowiedzi.

Problem pojawia się przy jakimkolwiek przesłaniu POST:

  1. <form action="test.php" method="post">
  2. <input type="text" name="a">
  3. <input type="submit">
  4. </form>
  5. <?php
  6.  
  7. print_r( $_POST );
  8.  
  9. ?>


Tablica pusta.
Wszystkie zresztą puste o których ~Jojo wpominał wcześniej.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.