Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Zaawansowane] Problem z bazą danych
no-scared
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 24.04.2008

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


Witam wszystkich.

Otóż mam taki problem, nie mam pojęcia skąd on się bierze, jest dość nietypowy. Mam dwa pliki:

- /linkchecker/index.php - w tym pliku jest formularz, który po jego wysłaniu dodaje linki umieszczone w tym formularzu do bazy danych. Po wykonaniu tej czynności wysyła za pomocą jQuery.get() żądanie do check_links.php.
- /linkchecker/check_links.php - ten plik pobiera wcześniej dodane do bazy linki i za pomocą cURL wchodzi pokolei do każdego z nich i po sprawdzeniu, czy jest poprawny dodaje o tym wpis do bazy danych (Y lub N).

Problem polega na tym, że jak zostanie wysłane żądanie ajax do check_links.php, to trochę czasu je sprawdza (zazwyczaj się dodaje dużo linków) i w tym czasie nie mogę wejść na inny plik (dostaję fatal error dotyczący max_execution_time, dokument się ładuje aż do tego błędu). Udało mi się ustalić, że prawdopodobnie jest to coś z bazą danych, bo utworzyłem plik /linkchecker/test.php, który przy zawartośći:

  1. echo 'asdasdasdasdasd';


wyświetla się natychmiast, natomiast przy zawartości

  1. require_once('includes/common.php');


również się ładuje w nieskończoność (common.php jedyne co robi to łączy z bazą danych)

Wydaje mi się, że może być to problem typu lock tables albo coś z max_user_connections. Ale nie używam nigdzie w skrypcie żadnych rzeczy typu LOCK/UNLOCK TABLES, a w my.ini nie mogę znaleźć nigdzie opcji max_user_connections / max_connections (używam najnowszego XAMPP). Jak rozwiązać ten problem?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Zasada jest prosta (IMG:style_emoticons/default/smile.gif)

Jeśli w jakimś skrypcie (na ogół chodzi o skrypty wywoływane przez ajax, lub te które się długo ładują) potrzebujesz tylko odczytać sesję to robisz:

  1.  
  2. // i tyle zmienne sesji są dostępne do odczytu (jedynie ich zmiana nie zostanie zapisana w sesji)
  3.  
  4. echo $_SESSION['jakas_zmienna'];


Jeśli potrzebujesz i zapisu i odczytu a skrypt moze się długo wykonywać to wystarczy:

  1.  
  2. // tu jakieś straszne operacje (długotrwałe) + odczyt sesji
  3.  
  4. // teraz zapisujemy wynik do sesji
  5.  
  6. $_SESSION['wynik'] = $wynik;
  7.  
  8. // itd...


Grunt aby w drugim przypadku dany skrypt nic nie echował dopóki nie skończy zabawy z sesją (IMG:style_emoticons/default/wink.gif)
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 - 19:59