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:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 24 bytes) in C:\xampp\htdocs\program\f_find_between.php on line 18
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 :
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\ebayAPI\f_find_between_history.php on line 18
Co może być nie tak?