Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> RAR - przerwane wypakowanie, wypakowuje tylko 120 plików...
pablo_w
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.02.2010

Ostrzeżenie: (0%)
-----


Mam serwer z zainstalowaną obsługą rar. Archiwa, które trzeba wypakować zawierają średnio 1500 niewielkich plików tekstowych.
Kod wypakowujący wygląda następująco:
  1. $rar_file = rar_open($sciezka_pliku);
  2. $rar_list = rar_list($rar_file);
  3.  
  4. foreach($rar_list as $file) {
  5. $file->extract('folder-docelowy');
  6. }


Niestety - serwer kończy pracę po wypakowaniu 119-120 plików. Sprawdzałem wielokrotnie kod, próbowałem przeróżnych rozwiązań - nic nie pomaga.
Pliki rar ma ok 3MB, zwiększana była pamięć memory_limit do 64M, nic nie dało.
Serwer po prostu przerywa pracę, nie ma żadnych komunikatów błędu, cisza.

Dodam, że mechanizm jest uruchamiany z crona, więc operacja musi się zamknąć w jednym wywołaniu.

Czy ktoś się spotkał z tym zagadnieniem? Może jest jakaś inna metoda, inna biblioteka, która pozwoli obejść ten problem?

Ten post edytował pablo_w 13.02.2010, 18:05:44
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Cytat
1500 niewielkich plików tekstowych

Cytat
Serwer po prostu przerywa pracę


No sorry Winetou, serwer nie został stworzony po to, by wykonywał każdą komendę aż do dnia Sądu Ostatecznego, jest coś takiego jak timeout, w wypadku PHP to:
http://pl.php.net/manual/pl/function.set-time-limit.php
Musisz pliki wypakowywać na raty, wywołując wiele razy ten sam skrypt z parametrem liczby rekordów lub wywoływać go co jakiś czas dopóki wszystko nie zostanie rozpakowane.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 17:26