PHP i MySQL dla każdegc
PHP i MySQL dla każdegc
przeglądarka
Rysunek 13.2.
Schemat przetwarzania danych przy korzystaniu z PHP i MySQL
♦ Wysłanie przez przeglądarkę do serwera żądania pobrania strony o danym adresie (1);
♦ Pobranie przez serwer żądanej strony z dysku (lub pamięci). Jeśli jest to zwykły f plik, serwer wysyła jego treść do przeglądarki (4). Jeśli jest to plik o rozszerzeniu .php (lub innym podanym podczas konfiguracji serwera), serwer wysyła
do modułu PHP żądanie przetworzenia danych znajdujących się w pliku (2).
♦ Przetworzenie przez moduł PHP otrzymanych danych, czyli wykonanie zawartego w pliku skryptu. Jeśli skrypt nie wykonuje operacji na bazie danych, następuje wysłanie danych do serwera (5). Jeśli skrypt wykonuje operacje
na bazie danych, zostaje nawiązanie połączenie z bazą i wysłanie zapytań (3).
♦ Przetworzenie zapytań przez serwer bazy danych i zwrócenie ich wyniku do modułu PHP (4).
♦ Wysłanie przez moduł PHP przetworzonych danych do serwera WWW (5).
♦ Wysyłanie przez serwer przetworzonych danych do przeglądarki (6).
W przypadku PHP4 obsługa MySQL jest wbudowana bezpośrednio i nie ma potrzeby wykonywania dodatkowych czynności konfiguracyjnych. Należy jedynie pamiętać, aby w przypadku samodzielnej kompilacji pakietu skorzystać z opcji --with-mysq1 (por. rozdział 1.). W wersjach binarnych (skompilowanych) obsługa MySQL jest włączona domyślnie.
W przypadku PHP5 obsługa MySQL jest domyślnie wyłączona'. W wersji dla Linuxa można ją włączyć podczas samodzielnej kompilacji pakietu, stosując opcję -with-mysql. W wersji dla systemów Windows należy wyedytować plik konfiguracyjny php.ini włączając rozszerzenie php_mysql (należy odkomentować linię extension=php_mysql .dli). Dodatkowo znajdująca się w tym pliku zmienna konfiguracyjna extensions_dir musi wskazywać katalog zawierający biblioteki rozszerzeń (katalog z plikiem phpjnysql.dll). Niezbędne jest również, aby plik libmysql.dll znajdował się w lokalizacji dostępnej poprzez zmienną systemową PATH (domyślenie plik ten znajduje się w katalogu głównym PHP).
1 Można jednak przypuszczać, że w konkretnych binarnych wersjach dystrybucyjnych (np rozpowszechnianych wraz z różnymi odmianami systemu Linux) obsługa ta będzie domyślnie włączana