![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam program, który filtuje pliki tekstowe w poszukiwaniu pewnych danych. Dane te zapisuje do tablicy. Jednak zapisuje je do tablicy jakby strumieniowo. 1 plik -> 1 tablica -> wyświetlenie -> zapisanie do pliku. Funkcja ta jest wywoływana w foreach tyle razy ile jest plików w folderze. Przeszukiwany plik ma ok 150KB, jest on przekazywany do funkcji, która szuka w niej kolejno pewnego ciągu (stripos) i zapisuje go do tablicy. Gdy przeszuka cały plik zwraca tablicę wyników (znalezionych ciągów). Przy próbie przeszukania powyżej 73 plików, wypisuje 11 i wyskakuje błąd:
Wskazuje na linijkę 18, gdzie jest stripos() W php.ini w xamppie mogę zmienić limit maxymalnie na 128MB - tak pisze w ów pliku. Jednak gdy zmieniłem na 2048M, po wywołaniu phpinfo() było widać właśnie taki limit, a mimo to nie wyświetlało wszystkich plików. Błąd zamienił się na :
Co może być nie tak? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Daj coś takiego w php.ini
max_execution_time = 5000 max_input_time = 5000 memory_limit = 1000M Do tego sprawdź, na którym pliku Ci się wywala - gwarantuję, że będzie to duży plik -------------------- ..::: Jak pomogłem to kliknij pomógł. Tak rzadko używacie tej opcji :( :::..
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Do tego sprawdź, na którym pliku Ci się wywala - gwarantuję, że będzie to duży plik Wywala na pliku 21KB, tyle co wszystkie inne.
To mam dać pod limit-memory czy obojętnie gdzie? Ten post edytował franz87 18.02.2013, 22:41:24 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Znajdź w php.ini i zamień, jak nie istnieje to utwórz gdziekolwiek.
Jeśli wywala Ci na pliku 21 KB to weź jeszcze wywal ten plik tymczasowo i sprawdź czy tylko z tym plikiem jest problem -------------------- ..::: Jak pomogłem to kliknij pomógł. Tak rzadko używacie tej opcji :( :::..
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Na 73 pliki wywalenie 2óch pomogło.
71 pozostałych wyświetliło się prawidłowo. Wartości podane przez Ciebie podmieniłem, serwer zresetowałem. Próbowałem podmienić nazwę felernych plików, ale nie pomogło. Skrypt wywala się na próbie ich przetworzenia. Dodam, że zawartość tych plików nie odbiega niczym szczególnym od pozostalych. Czy wiadomo co to jeszcze może być? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Jak nie są to poufne pliki to wrzuć je gdzieś gdzie można je pobrać.
Chętnie sam sprawdzę, co takiego wyjątkowego jest w texcie, że Ci go nie czyta ![]() -------------------- ..::: Jak pomogłem to kliknij pomógł. Tak rzadko używacie tej opcji :( :::..
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Problem rozwiązany (mam nadzieje
![]() Okazało się, że w tych dwóch plikach, ciąg, którego szukam był lekko zmodyfikowany. Szukałem wg. słowa NEZ a u tych dwóch delikwentów było NESZ. Dzięki za wszystkie sugestie ! Pozdrawiam |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
No, ale zdajesz sobie sprawę, że w takim wypadku masz wadliwy skrypt, który w niektórych wypadkach wywali Ci całą aplikację ?
Pewnie wpadało w rekurencje i nie kończyło skryptu, lepiej to wyeliminuj -------------------- ..::: Jak pomogłem to kliknij pomógł. Tak rzadko używacie tej opcji :( :::..
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tak, ale prawdopodobnie więcej takich przygód nie będzie.
Po prostu w czasie zimowym przy godzinie było napisane "MEZ" -----> MiddleEurope, a w zimie "MESZ" -------> MiddleEuropeSummer. Skrypt robię tylko dla siebie, więc jeżeli znowu się kiedyś posypie, to nie będzie ciężkich konsekwencji... |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 14:23 |