php failed to open stream: Too many open files
Marcin Kamiński
maxiu w best.net.pl
Pią, 21 Sie 2009, 20:08:05 CEST
Andrzej Mateja pisze:
> Miesiu pisze:
>> Wszystko jedno - próbowałem nawet wywoływać skrypt przez
>> exec("php -f skrypt parametry");
>> lub
>> system("php -f skrypt parametry");
>> ale
>> lsof -p proces | wc -l
>> ciagle pokazuje, że licznik rośnie i jak dojdzie do 1024 to się wywala.
>>
>> Nie bardzo chcę zmieniać limit z 1024 na więcej - bo w wielu miejscach
>> odradzają.
>>
>> Co mogę mieć źle, że php nie zamyka plików po sobie?
>>
>
> Z chęcią Ci pomogę jak tylko będę umiał, ale kolego - zasysanie skryptów
> PHP czy przez Apache, czy przez te wywołania, które opisałeś, dadzą
> jeden i ten sam efekt. Więc problem leży przede wszystkim w tym jak
> Twoje skrypty zostały zaprojektowane i napisane. No i musisz podać
> trochę więcej szczegółów :). Jeśli się mylę to proszę mnie poprawić.
Witam
Niekoniecznie wina leży po stronie PHPów. Winny może być Apache.
Jeśli Apache ma wiele wirtualek i do każdej osobne pliki z logami, to
trzyma je cały czas otwarte. Niestety uruchamiając PHPa przez mod_php do
dyspozycji zostaje mniej deskryptorów.
Z tego powodu przy dużej ilości wirtualek lepiej logować do jednego
pliku i go potem rozdzielać. Lub przejść na fcgi.
Pozdrawiam
--
- Marcin Kaminski --------------------------------- maxiu -
--- software architect ------------------------ Bestmax ---
----- e-commerce expert -------------------- best.net -----
------- http://karnisz.net/ --- http://best.net.pl/ -------
Więcej informacji o liście dyskusyjnej pld-users-pl