Dziwne zachowanie apache/php

Serwery i sieci oparte na Slackware, wszelkiego rodzaju usługi, troubleshooting.

Moderatorzy: Moderatorzy, Administratorzy

Awatar użytkownika
bojleros
Użytkownik
Posty: 785
Rejestracja: 2005-08-29, 11:12
Lokalizacja: z widokem na familoki :)
Kontakt:

Dziwne zachowanie apache/php

Post autor: bojleros » 2014-03-16, 09:50

Witam.

Używam aktualnego 14.1 ma dwóch maszynach i mam problem. Jest sobie skrypt w php:

Kod: Zaznacz cały

<pre>
<?php
print shell_exec('/usr/bin/iostat -m 1 2');
?>
</pre>
Gdy uruchamiam skrypt z konsoli wszystko jest w porządku. Wyjście zgadza się z oczekiwaniami. Problem pojawia się gdy chcę ten skrypt uruchomić za pomocą apache:

Podaję odpowiedni url w przeglądarce, przeglądarka wyświetla "oczekiwanie na 192.168.*.*..." i można czekać w nieskończoność. W logach apache i systemowych nie ma nic , nawet o dostępie do skryptu...

Teraz jeżeli wyświetlę listę procesów to mam na niej coś takiego:

Kod: Zaznacz cały

apache    5292  0.0  0.0   9940  1448 ?        S    09:08   0:00 sh -c cd '/htdocs/disk-verbose' ; /usr/bin/iostat -m 1 2
apache    5293  0.0  0.0   4780  1040 ?        S    09:08   0:00 /usr/bin/iostat -m 1 2
Te procesy pozostają na wieczność. Jeżeli w tym momencie mam nadal otwarte okno przeglądarki w której próbowałem otworzyć skrypt i wykonam:

Kod: Zaznacz cały

killall iostat -SIGKILL
To do okna przeglądarki zwracany jest pierwszy wynik działania iostat (ten z pierwszej sekundy).
I tu uwaga. apache/php Centos6.5/archlinux/mint(yomi) to ogarniają ale przykładowo z gentoo (shana) już nie ! Ogarniają znaczy się nie blokują się na wieczność i pokazują wynik z obydwu iteracji.


---------------------------------------------------------------------------

Mogę teraz zrobić pewien myk. Zmieniam wywołanie iostat ze skryptu na:

Kod: Zaznacz cały

/usr/bin/iostat -m 1 1
Wszystko działa ok, nic się nie blokuje. Na innych httpd (centos/arch) również.

Inne strony w php działają ( w tym korzystające z rrd ).

Próbowałem downgrade apache, php, apr i apr-util.
Próbowałem rekompilować powyższe ze slackbuildów w różnych kombinacjach włączając downgrade.
Próbowałem użyć paczek z 14.0.
Próbowałem zmieniać powłokę dla użytkownika apache na /bin/bash.
Próbowałem rekompilacji sysstat.


Bez skutku...



Mogę prosić o wsparcie ? Może ktoś ma pomysł co z tym jeszcze można zrobić...

Pozdrawiam

ODPOWIEDZ