![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 15.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam pewien skrypt (PHP), który sprawdza i na bieżąco modyfikuje bazę danych (SQL). Używam serwera Apache na domowym komputerze. posiadam: Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7 mysqlnd 5.0.10 Przy czym mój skrypt wykonuje tysiące operacji i trwa niemożebnie długo. Liczba operacji modyfikacji bazy danych w tym skrypcie to ponad 2000 do 5000 przy jednym uruchomieniu. Czas od uruchomienia skryptu do jego zakończenia z pewnością przekracza 30 sekund, a może mierzony jest w minutach. Nie jestem w stanie go zoptymalizować, zresztą nie ma to sensu (skrypt uruchamiam tylko parę razy dla całej bazy danych i dla zwykłych użytkowników nie jest dostępny) Mogę uruchamiać jego części, np. 1/50 całości i wszystko działa jak należy. Lecz gdy próbuję uruchomić całość - Apache jakby się zacinał. Próbowałem z ob_start() i ob_flush(), lecz nie daje to żadnego rezultatu. Gdy informacji do przetworzenia jest zbyt dużo - po prostu strona jakby się cały czas wgrywała - może to trwać nawet pół godziny (ustawiłem też set_time_limit(0) ) i nic się nie zmienia, strona nadal ma status wgrywającej się, Apache nadal ją mieli i nie można załadować żadnych innych stron (wiem, wiem - mam nie ustawioną wielowątkowość Apache w windows). Muszę resetować serwer. Raczej nie występuje problem nieskończonego zapętlenia się gdzieś w kodzie, gdyż wykonując ten skrypt po kawałku, wszystko jest ok. Problemem jest odpalenie całości. Nie jestem w temacie ustawień Apache (czy może jakiś ustawień w PHP?) zbyt dobrze obeznany, proszę zatem Was o pomoc (IMG:style_emoticons/default/smile.gif) Nie wiem nawet, co jeszcze mógłbym zmienić w ustawieniach. Może ten temat był już na forum poruszany? Proszę o wskazówki, stoję w miejscu, nie potrafię tego problemu przeskoczyć. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 10:42 |