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
no-scared
post
Post #2





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

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


Rzeczywiście, mój test.php przy takiej formie:

  1. <?php
  2.  
  3. error_reporting(E_ALL ^ E_NOTICE);
  4.  
  5. require_once('includes/config.php');
  6. require_once('includes/funcs.php');
  7. require_once('includes/classes/user.php');
  8. require_once('includes/classes/curl.php');
  9.  
  10. $conn = new mysqli(DB_HOST, DB_LOGIN, DB_PASSWORD, DB_DATABASE);
  11.  
  12. if (!$conn) {
  13. die('Nie udało się połączyć z bazą danych. Spróbuj później, bądź powiadom o zdarzeniu administrację serwisu.');
  14. }
  15.  
  16.  
  17. ?>


Ładuje się do fatal errora, lecz przy takiej formie:

  1. <?php
  2.  
  3. error_reporting(E_ALL ^ E_NOTICE);
  4.  
  5. require_once('includes/config.php');
  6. require_once('includes/funcs.php');
  7. require_once('includes/classes/user.php');
  8. require_once('includes/classes/curl.php');
  9.  
  10. $conn = new mysqli(DB_HOST, DB_LOGIN, DB_PASSWORD, DB_DATABASE);
  11.  
  12. if (!$conn) {
  13. die('Nie udało się połączyć z bazą danych. Spróbuj później, bądź powiadom o zdarzeniu administrację serwisu.');
  14. }
  15.  
  16. ?>


plik się załaduje. Ale to nie koniec problemu. Bo co w takim razie mam zrobić, jeżeli potrzebuję używać sesji i w jednym i w drugim pliku?

Z tego co widzę, ludzie sobie z tym radzą za pomocą session_write_close(), ale to jest bez sensu... co mam zrobić, jeżeli w innym pliku muszę pewne dane też zapisywać do sesji podczas działania skryptu, a nie mogę ich najpierw odczytać i zamknąć sesji?
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: 16.10.2025 - 22:04