Książka jest NOWA, w stanie IDEALNYM. Niezależnie od ilości zakupionych książek płacisz tylko jednorazowy koszt wysyłki. PHP, MySQL i Apache dla każdego. Wydanie III
Wydawnictwo: Helion Witryny WWW korzystające z baz danych i wyświetlające dynamicznie generowaną treść stają się coraz bardziej popularne. Technologie skryptowe działające po stronie serwera i mechanizmy bazodanowe przestały być cechą charakterystyczną portali i sklepów -- dziś wykorzystywane są również w firmowych i prywatnych stronach WWW, galeriach fotografii oraz blogach. Na rynku istnieje wiele technologii stosowanych do budowania dynamicznych witryn WWW, lecz największym uznaniem cieszy się duet PHP i MySQL uruchamiany na serwerze WWW Apache.
Książka "PHP, MySQL i Apache dla każdego. Wydanie III" to wprowadzenie do tworzenia witryn WWW z wykorzystaniem tej właśnie technologii i najnowszych wersji wchodzących w jej skład narzędzi PHP 5 i MySQL 5. Przedstawiono w niej proces instalacji serwera Apache, bazy danych MySQL, interpretera PHP na serwerze i stacji roboczej oraz zasady programowania w PHP i pobierania danych z tabel. Znajdziesz tu informacje o operacjach na plikach, generowaniu grafiki, zarządzaniu sesjami, tworzeniu zapytań do bazy MySQL i optymalizowaniu wydajności aplikacji. Dzięki zawartym w książce i doskonale omówionym gotowym projektom poznasz technologie PHP i MySQL w praktyce.
- Instalacja i konfiguracja PHP, MySQL i Apache w Windows i Linux
- Struktura języka PHP
- Programowanie obiektowe
- Przetwarzanie danych z formularzy HTML
- Operacje na plikach i katalogach
- Projektowanie baz danych i tabel
- Połączenie skryptów PHP z bazą danych MySQL
- Uwierzytelnianie użytkowników
- Korzystanie z plików XML
- Zabezpieczanie aplikacji sieciowych
- Przykłady dostosowane do PHP 5 i MySQL 5.0
Poznaj najnowsze wersje najpopularniejszych narzędzi do tworzenia dynamicznych witryn WWW.
Spis treści: O autorach (17)
Wprowadzenie (19)
Część I Podstawy (23)
Rozdział 1. Szybka instalacja (25)
- Instalacja w systemie Linux/Unix (25)
- Instalacja MySQL (26)
- Instalacja Apache (26)
- Instalacja PHP (28)
- Instalacja w systemie Windows (29)
- Instalacja MySQL (29)
- Instalacja Apache (30)
- Instalacja PHP (32)
- Rozwiązywanie problemów (34)
Rozdział 2. Instalacja i konfiguracja MySQL (35)
- Wersja aktualna i przyszłe wersje MySQL (35)
- Jak zdobyć MySQL? (36)
- Instalacja MySQL w systemie Linux/Unix (36)
- Instalacja MySQL w systemie Windows (37)
- Rozwiązywanie problemów instalacji (44)
- Podstawy bezpieczeństwa (44)
- Uruchamianie MySQL (45)
- Zabezpieczanie połączenia MySQL (45)
- Wprowadzenie do systemu uprawnień MySQL (46)
- Dwustopniowa autoryzacja (47)
- Korzystanie z systemu uprawnień (48)
- Dodawanie użytkowników (48)
- Usuwanie uprawnień (50)
- Podsumowanie (50)
- Pytania i odpowiedzi (51)
- Warsztaty (51)
- Test (52)
- Odpowiedzi (52)
- Ćwiczenia (52)
Rozdział 3. Instalacja i konfiguracja Apache (53)
- Wersja aktualna i przyszłe wersje Apache (53)
- Wybór sposobu instalacji (54)
- Kompilacja kodu źródłowego (54)
- Instalacja dystrybucji binarnej (54)
- Instalacja Apache w systemie Linux/Unix (55)
- Pobieranie kodu źródłowego (55)
- Rozpakowanie kodu źródłowego (55)
- Przygotowania do kompilacji Apache (56)
- Budowanie i instalacja Apache (56)
- Instalacja Apache w systemie Windows (57)
- Format pliku konfiguracyjnego Apache (60)
- Dyrektywy (60)
- Pojemniki (61)
- Instrukcje warunkowe (62)
- Dyrektywa ServerRoot (63)
- Pliki konfiguracyjne dla katalogów (64)
- Pliki dziennika Apache (65)
- access_log (65)
- error_log (65)
- Pozostałe pliki (66)
- Polecenia związane z Apache (66)
- Serwer Apache (66)
- Skrypt kontrolny Apache (67)
- Pierwsze uruchomienie Apache (68)
- Sprawdzanie pliku konfiguracyjnego (68)
- Uruchamianie Apache (69)
- Rozwiązywanie problemów (70)
- Inny serwer WWW (70)
- Brak uprawnień do portu (70)
- Dostęp zabroniony (70)
- Złe parametry grupy (70)
- Podsumowanie (71)
- Pytania i odpowiedzi (71)
- Warsztaty (71)
- Test (72)
- Odpowiedzi (72)
- Ćwiczenia (72)
Rozdział 4. Instalacja i konfiguracja PHP (73)
- Wersja aktualna i przyszłe wersje PHP (73)
- Kompilacja PHP w systemie Linux/Unix (74)
- Dodatkowe opcje konfiguracyjne w systemie Linux/Unix (76)
- Integracja PHP z Apache w systemie Linux/Unix (76)
- Instalacja PHP w systemie Windows (77)
- Integracja PHP z Apache w systemie Windows (77)
- Plik php.ini (78)
- Testowanie (79)
- Gdzie znaleźć pomoc (80)
- Podstawy skryptów PHP (81)
- Początek i koniec bloku instrukcji PHP (81)
- Instrukcja echo i funkcja print() (83)
- Łączenie HTML i PHP (84)
- Komentarze w kodzie PHP (85)
- Podsumowanie (86)
- Pytania i odpowiedzi (86)
- Warsztaty (87)
- Test (87)
- Odpowiedzi (87)
- Ćwiczenia (87)
Część II Struktura języka PHP (89)
Rozdział 5. Podstawowe elementy języka PHP (91)
- Zmienne (92)
- Zmienne globalne i superglobalne (93)
- Typy danych (94)
- Zmiana typu za pomocą settype() (96)
- Zmiana typu poprzez rzutowanie (97)
- Po co sprawdzać typ? (99)
- Operatory i wyrażenia (99)
- Operator przypisania (100)
- Operatory arytmetyczne (101)
- Operator konkatenacji (101)
- Złożony operator przypisania (102)
- Inkrementacja i dekrementacja wartości zmiennej całkowitej (103)
- Operatory porównania (104)
- Tworzenie złożonych wyrażeń za pomocą operatorów logicznych (105)
- Kolejność operatorów (106)
- Stałe (107)
- Stałe predefiniowane (108)
- Podsumowanie (108)
- Pytania i odpowiedzi (108)
- Warsztaty (109)
- Test (109)
- Odpowiedzi (110)
- Ćwiczenia (110)
Rozdział 6. Sterowanie przepływem w PHP (111)
- Zmiana przepływu (112)
- Instrukcja if (112)
- Użycie klauzuli else w instrukcji if (113)
- Użycie klauzuli elseif w instrukcji if (113)
- Instrukcja switch (115)
- Operator ? (116)
- Pętle (117)
- Instrukcja while (117)
- Instrukcja do...while (118)
- Instrukcja for (119)
- Przerywanie pętli za pomocą instrukcji break (120)
- Pomijanie iteracji za pomocą instrukcji continue (122)
- Zagnieżdżone pętle (123)
- Bloki kodu PHP (125)
- Podsumowanie (125)
- Pytania i odpowiedzi (127)
- Warsztaty (127)
- Test (127)
- Odpowiedzi (127)
- Ćwiczenie (128)
Rozdział 7. Funkcje (129)
- Czym jest funkcja? (129)
- Wywoływanie funkcji (130)
- Definiowanie funkcji (131)
- Zwracanie wartości przez funkcje użytkownika (134)
- Zasięg zmiennych (135)
- Wywoływanie zmiennych za pomocą instrukcji global (136)
- Przechowywanie wartości pomiędzy wywołaniami funkcji za pomocą instrukcji static (138)
- Więcej o argumentach (140)
- Przypisywanie zmiennym wartości domyślnych (140)
- Przekazywanie zmiennych przez referencję (142)
- Sprawdzanie istnienia funkcji (143)
- Podsumowanie (145)
- Pytania i odpowiedzi (145)
- Warsztaty (146)
- Test (146)
- Odpowiedzi (146)
- Ćwiczenie (147)
Rozdział 8. Tablice (149)
- Czym jest tablica? (149)
- Tworzenie tablic (150)
- Tworzenie tablic asocjacyjnych (151)
- Tworzenie tablic wielowymiarowych (151)
- Niektóre funkcje operujące na tablicach (153)
- Podsumowanie (155)
- Pytania i odpowiedzi (155)
- Warsztaty (155)
- Test (155)
- Odpowiedzi (155)
- Ćwiczenia (156)
Rozdział 9. Obiekty (157)
- Tworzenie obiektu (157)
- Własności obiektów (159)
- Metody obiektów (160)
- Konstruktor (162)
- Dziedziczenie (162)
- Podsumowanie (164)
- Pytania i odpowiedzi (164)
- Warsztaty (164)
- Test (164)
- Odpowiedzi (165)
- Ćwiczenia (165)
Część III Pierwsze kroki z kodem (167)
Rozdział 10. Ciągi znaków, data i czas (169)
- Formatowanie ciągów znaków (170)
- Funkcja printf() (170)
- Zamiana argumentów (176)
- Przechowywanie sformatowanych ciągów znaków (178)
- Analizowanie ciągów znaków (178)
- Uwaga na temat indeksowania ciągów znaków (179)
- Sprawdzanie długości ciągu za pomocą funkcji strlen() (179)
- Znajdowanie podciągu za pomocą strstr() (179)
- Określanie pozycji podciągu za pomocą funkcji strpos() (180)
- Pobieranie części ciągu za pomocą funkcji substr() (181)
- Podział ciągu na słowa za pomocą funkcji strtok() (181)
- Operacje na ciągach znaków (183)
- Oczyszczanie ciągu za pomocą funkcji trim(), ltrim(), rtrim() i strip_tags() (183)
- Zmiana fragmentu ciągu za pomocą funkcji substr_replace() (184)
- Zamiana podciągów za pomocą funkcji str_replace() (185)
- Zmiana wielkości liter (185)
- Zawijanie tekstu za pomocą funkcji wordwrap() i nl2br() (187)
- Dzielenie ciągów za pomocą funkcji explode() (188)
- Funkcje operujące na dacie i czasie (189)
- Pobieranie bieżącej daty za pomocą funkcji time() (189)
- Konwersja znacznika czasu za pomocą funkcji getdate() (189)
- Formatowanie znacznika czasu za pomocą funkcji date() (190)
- Tworzenie znacznika czasu za pomocą funkcji mktime() (193)
- Weryfikacja daty za pomocą funkcji checkdate() (194)
- Inne funkcje operujące na ciągach znaków, datach i czasie (194)
- Podsumowanie (194)
- Warsztaty (195)
- Pytania i odpowiedzi (195)
- Test (195)
- Odpowiedzi (196)
- Ćwiczenia (196)
Rozdział 11. Formularze (197)
- Tworzenie prostego formularza (197)
- Przekazywanie informacji w tablicach (199)
- Łączenie kodu HTML i PHP w jednym skrypcie (202)
- Zapisywanie informacji o stanie w ukrytym polu (204)
- Przekierowania (206)
- Wysyłanie poczty elektronicznej (207)
- Konfiguracja systemu (207)
- Tworzenie formularza (208)
- Skrypt wysyłający wiadomość (209)
- Formatowanie wiadomości za pomocą HTML (211)
- Przesyłanie plików (213)
- Tworzenie formularza wysyłającego plik (213)
- Skrypt obsługujący przesłany plik (214)
- Podsumowanie (217)
- Warsztaty (217)
- Test (217)
- Odpowiedzi (217)
- Ćwiczenia (218)
Rozdział 12. Cookies i sesje (219)
- Wprowadzenie do cookies (219)
- Tworzenie cookie (221)
- Wprowadzenie do sesji (223)
- Otwieranie sesji (223)
- Zmienne sesyjne (224)
- Przekazywanie identyfikatora sesji w adresie (228)
- Niszczenie sesji i usuwanie zmiennych (229)
- Zastosowania sesji (229)
- Obsługa zarejestrowanych użytkowników (230)
- Obsługa ustawień użytkownika (230)
- Podsumowanie (230)
- Pytania i odpowiedzi (231)
- Warsztaty (231)
- Test (231)
- Odpowiedzi (231)
- Ćwiczenie (232)
Rozdział 13. Pliki i katalogi (233)
- Dołączanie plików za pomocą funkcji include() (233)
- Zwracanie wartości z dołączonego dokumentu (235)
- Instrukcja include() wewnątrz struktur sterujących (235)
- Użycie include_once() (236)
- Dyrektywa include_path (237)
- Weryfikacja plików (238)
- Sprawdzanie, czy dany plik istnieje, za pomocą funkcji file_exists() (238)
- Plik czy katalog? (238)
- Sprawdzanie uprawnień pliku (238)
- Sprawdzanie rozmiaru pliku za pomocą funkcji filesize() (239)
- Pobieranie informacji o datach związanych z plikiem (239)
- Funkcja wyświetlająca informacje o pliku (240)
- Tworzenie i usuwanie plików (242)
- Otwieranie plików do zapisu, odczytu i dopisywania (242)
- Odczytywanie danych z pliku (243)
- Odczytywanie wierszy za pomocą funkcji fgets() i feof() (243)
- Odczytywanie określonej ilości danych za pomocą funkcji fread() (245)
- Odczytywanie kolejnych znaków za pomocą funkcji fgetc() (247)
- Zapisywanie i dopisywanie danych do pliku (247)
- Zapisywanie danych do pliku za pomocą funkcji fwrite() i fputs() (248)
- Blokowanie plików za pomocą funkcji flock() (249)
- Operacje na katalogach (250)
- Tworzenie katalogów za pomocą funkcji mkdir() (250)
- Usuwanie katalogu za pomocą rmdir() (250)
- Otwieranie katalogu za pomocą funkcji opendir() (251)
- Odczytywanie zawartości katalogu za pomocą funkcji readdir() (251)
- Otwieranie potoków do i z procesów za pomocą funkcji popen() (253)
- Uruchamianie poleceń za pomocą funkcji exec() (255)
- Uruchamianie poleceń funkcjami system() i passthru() (256)
- Podsumowanie (258)
- Pytania i odpowiedzi (259)
- Warsztaty (259)
- Test (259)
- Odpowiedzi (260)
- Ćwiczenia (260)
Rozdział 14. Obrazki (261)
- Proces powstawania obrazka (261)
- Kilka słów o kolorze (261)
- Konieczne zmiany w PHP (262)
- Pobieranie dodatkowych bibliotek (262)
- Rysowanie nowego obrazka (263)
- Rysowanie kształtów i linii (263)
- Wypełnianie kształtów kolorem (265)
- Rysowanie wykresów (266)
- Modyfikacja istniejących obrazków (270)
- Tworzenie obrazków na podstawie danych przesłanych przez użytkownika (273)
- Podsumowanie (276)
- Pytania i odpowiedzi (277)
- Warsztaty (277)
- Test (278)
- Odpowiedzi (278)
- Ćwiczenie (278)
Część IV Integracja PHP i MySQL (279)
Rozdział 15. Tajniki procesu projektowania bazy danych (281)
- Rola dobrego projektu bazy danych (281)
- Typy relacji między tabelami (282)
- Relacje jeden do jednego (283)
- Relacje jeden do wielu (283)
- Relacje wiele do wielu (284)
- Normalizacja (285)
- Problemy z tabelą prostą (286)
- Pierwsza postać normalna (286)
- Druga postać normalna (287)
- Trzecia postać normalna (287)
- Postępowanie zgodnie z procesem projektowania (288)
- Podsumowanie (289)
- Pytania i odpowiedzi (290)
- Warsztaty (290)
- Test (290)
- Odpowiedzi (290)
- Ćwiczenie (290)
Rozdział 16. Podstawowe polecenia SQL (291)
- Typy danych w MySQL (292)
- Liczbowe typy danych (292)
- Typy czasu i daty (293)
- Typy łańcuchowe (294)
- Składnia tworzenia tabel (295)
- Używanie polecenia INSERT (296)
- Bliższe spojrzenie na INSERT (296)
- Stosowanie polecenia SELECT (298)
- Porządkowanie wyników zwracanych przez SELECT (299)
- Ograniczanie wyników (300)
- Używanie WHERE w zapytaniach (300)
- Stosowanie operatorów w klauzuli WHERE (301)
- Porównywanie łańcuchów za pomocą LIKE (302)
- Selekcja z kilku tabel (302)
- Używanie JOIN (304)
- Stosowanie podselekcji (306)
- Modyfikowanie rekordów za pomocą polecenia UPDATE (307)
- Warunkowe instrukcje UPDATE (309)
- Stosowanie bieżących wartości kolumn z UPDATE (309)
- Używanie polecenia REPLACE (310)
- Stosowanie polecenia DELETE (311)
- Warunkowa instrukcja DELETE (312)
- Często stosowane funkcje MySQL operujące na ciągach tekstowych (313)
- Funkcje długości i konkatenacji (314)
- Funkcje przycinające i dopełniające (316)
- Funkcje lokalizacji i pozycji (317)
- Funkcje operujące na podciągach (318)
- Funkcje modyfikujące ciągi (319)
- Korzystanie z funkcji daty i czasu w MySQL (320)
- Operowanie na dniach (320)
- Operowanie na miesiącach i latach (323)
- Operowanie na tygodniach (324)
- Operowanie na godzinach, minutach i sekundach (325)
- Formatowanie daty i czasu w MySQL (326)
- Działania arytmetyczne na datach w MySQL (328)
- Funkcje specjalne i możliwości w zakresie konwersji (330)
- Podsumowanie (332)
- Pytania i odpowiedzi (333)
- Warsztaty (334)
- Test (334)
- Odpowiedzi (335)
- Ćwiczenie (335)
Rozdział 17. Transakcje i procedury składowane w MySQL (337)
- Czym są transakcje? (337)
- Podstawowe elementy składni (338)
- Praktyczny przykład zastosowania transakcji (339)
- Czym są procedury składowane? (341)
- Podstawowa składnia procedur składowanych (341)
- Podsumowanie (343)
- Warsztaty (343)
- Test (343)
- Odpowiedzi (343)
Rozdział 18. Interakcja z MySQL z poziomu PHP (345)
- Funkcje MySQL a funkcje MySQLi (345)
- Łączenie się z MySQL poprzez PHP (345)
- Nawiązywanie połączenia (346)
- Wykonywanie zapytań (347)
- Odbieranie komunikatów o błędach (348)
- Operowanie na danych z bazy MySQL (349)
- Wstawianie danych z poziomu PHP (349)
- Pobieranie danych z bazy w PHP (353)
- Pozostałe funkcje MySQL w PHP (354)
- Podsumowanie (355)
- Warsztaty (355)
- Test (356)
- Odpowiedzi (356)
Część V Proste projekty (357)
Rozdział 19. Zarządzanie prostą listą mailingową (359)
- Opracowywanie mechanizmu subskrypcji (359)
- Tworzenie tabeli subskrybentów (360)
- Tworzenie formularza subskrypcji (360)
- Budowa mechanizmu mailingu (367)
- Podsumowanie (371)
- Pytania i odpowiedzi (371)
- Warsztaty (372)
- Test (372)
- Odpowiedzi (372)
Rozdział 20. Tworzenie internetowej książki adresowej (373)
- Planowanie i tworzenie tabel w bazie danych (373)
- Tworzenie menu (376)
- Tworzenie mechanizmu dodawania rekordów (376)
- Przeglądanie rekordów (381)
- Tworzenie mechanizmu usuwania rekordów (389)
- Uzupełnianie istniejących rekordów (391)
- Podsumowanie (396)
- Warsztaty (396)
- Test (397)
- Odpowiedzi (397)
- Ćwiczenia (398)
Rozdział 21. Tworzenie prostego forum dyskusyjnego (399)
- Projektowanie tabel w bazie danych (399)
- Tworzenie formularzy wprowadzania danych i skryptów (400)
- Wyświetlanie listy tematów (404)
- Wyświetlanie postów w temacie (407)
- Dodawanie postu w wybranym temacie (412)
- Podsumowanie (415)
- Pytania i odpowiedzi (415)
- Warsztaty (416)
- Test (416)
- Odpowiedzi (416)
- Ćwiczenie (416)
Rozdział 22. Tworzenie witryny sklepu internetowego (417)
- Planowanie i tworzenie tabel w bazie danych (417)
- Wstawianie rekordów do tabeli sklep_kategorie (419)
- Wstawianie rekordów do tabeli sklep_artykuly (420)
- Wstawianie rekordów do tabeli sklep_art_rozmiar (420)
- Wstawianie rekordów do tabeli sklep_art_kolor (421)
- Wyświetlanie kategorii artykułów (421)
- Wyświetlanie artykułów (424)
- Podsumowanie (427)
- Warsztaty (428)
- Test (428)
- Odpowiedzi (428)
Rozdział 23. Tworzenie mechanizmu koszyka z zakupami (429)
- Planowanie i tworzenie tabel (429)
- Integracja koszyka z witryną sklepową (431)
- Dodawanie artykułów do koszyka (434)
- Przeglądanie zawartości koszyka (436)
- Usuwanie artykułów z koszyka (438)
- Sposoby dokonywania płatności i sekwencja kasowa (439)
- Tworzenie formularza kasowego (440)
- Realizowanie czynności kasowych (440)
- Podsumowanie (441)
- Warsztaty (441)
- Test (442)
- Odpowiedzi (442)
Rozdział 24. Tworzenie prostego kalendarza (443)
- Tworzenie prostego kalendarza wyświetlanego na ekranie (443)
- Sprawdzenie danych przesłanych przez użytkownika (444)
- Tworzenie formularza HTML (445)
- Tworzenie tabeli kalendarza (446)
- Dodawanie terminów do kalendarza (450)
- Tworzenie biblioteki kalendarza (458)
- Podsumowanie (463)
- Pytania i odpowiedzi (464)
- Warsztaty (464)
- Test (464)
- Odpowiedzi (464)
- Ćwiczenie (464)
Rozdział 25. Ograniczanie dostępu do aplikacji (465)
- Istota uwierzytelniania (465)
- Uwierzytelnianie klienta (466)
- Możliwości funkcjonalne modułu uwierzytelniającego serwera Apache (467)
- Uwierzytelnianie bazujące na plikach (468)
- Kontrola dostępu bazująca na pliku bazy danych (470)
- Apache jako narzędzie kontroli dostępu (471)
- Wprowadzanie reguł dostępu (471)
- Interpretacja reguł dostępu (473)
- Wiązane zastosowanie metod kontroli dostępu (474)
- Ograniczenie dostępu na podstawie metod HTTP (475)
- Ograniczenie dostępu na podstawie wartości cookies (476)
- Tworzenie tabeli uprawnionych użytkowników (476)
- Tworzenie formularza logowania i skryptu (477)
- Sprawdzanie cookie uwierzytelniającego (479)
- Podsumowanie (481)
- Pytania i odpowiedzi (481)
- Warsztaty (482)
- Test (482)
- Odpowiedzi (482)
- Ćwiczenie (483)
Rozdział 26. Monitorowanie i prowadzenie dzienników aktywności serwera (485)
- Standardowe odnotowywanie dostępu do serwera (485)
- Ustalanie treści dzienników (486)
- Odnotowywanie dostępów w plikach (489)
- Odnotowywanie dostępów w programie (490)
- Standardowy tryb odnotowywania błędów serwera Apache (491)
- Odnotowywanie błędów w pliku (491)
- Odnotowywanie błędów w programie (491)
- Demon syslog jako argument (491)
- Dyrektywa LogLevel (492)
- Zarządzanie dziennikami serwera Apache (492)
- Ustalanie nazw hostów (493)
- Rotacja dzienników (493)
- Łączenie i podział dzienników (494)
- Analiza dzienników (494)
- Monitorowanie dzienników błędów (494)
- Odnotowywanie informacji w bazie danych (495)
- Tworzenie tabeli w bazie danych (495)
- Tworzenie skryptu PHP odnotowującego dane (495)
- Tworzenie przykładowych raportów (496)
- Podsumowanie (499)
- Pytania i odpowiedzi (500)
- Warsztaty (500)
- Test (500)
- Odpowiedzi (500)
Rozdział 27. Lokalizacja aplikacji (501)
- Internacjonalizacja i lokalizacja (501)
- Zestawy znaków (502)
- Modyfikacje środowiska (503)
- Zmiany w konfiguracji serwera Apache (503)
- Zmiany w konfiguracji PHP (504)
- Zmiany w konfiguracji MySQL (504)
- Tworzenie zlokalizowanej struktury strony (505)
- Podsumowanie (510)
- Pytania i odpowiedzi (511)
- Warsztaty (511)
Rozdział 28. Korzystanie z XML (513)
- Co to jest XML? (513)
- Podstawowa struktura dokumentu XML (513)
- Dostęp do dokumentów XML z poziomu PHP za pomocą funkcji modelu DOM (515)
- Dostęp do danych XML z poziomu PHP za pomocą funkcji SimpleXML (517)
- Podsumowanie (520)
- Warsztaty (521)
- Test (521)
- Odpowiedzi (521)
Część VI Administrowanie i dostrajanie (523)
Rozdział 29. Poprawianie wydajności i wirtualny hosting na serwerze Apache (525)
- Kwestie skalowalności (526)
- Ograniczenia systemu operacyjnego (526)
- Ustawienia serwera Apache związane z wydajnością (528)
- Testowanie serwera pod obciążeniem przy użyciu ApacheBench (529)
- Aktywne dostrajanie wydajności (531)
- Odwzorowywanie plików w pamięci (531)
- Rozkład obciążenia (532)
- Buforowanie (532)
- Redukcja ilości transmitowanych danych (532)
- Ustawienia sieci (533)
- Zapobieganie nadużyciom (533)
- Implementacja wirtualnego hostingu (534)
- Wirtualny hosting bazujący na adresach IP (535)
- Wirtualny hosting bazujący na nazwach (535)
- Masowy hosting wirtualny (537)
- Podsumowanie (538)
- Pytania i odpowiedzi (539)
- Warsztaty (540)
- Test (540)
- Odpowiedzi (540)
Rozdział 30. Bezpieczny serwer WWW (541)
- Potrzeba bezpieczeństwa (541)
- Protokół SSL (542)
- Rozwiązanie kwestii poufności (542)
- Rozwiązanie kwestii nienaruszalności (544)
- Rozwiązanie kwestii uwierzytelniania (544)
- Uzyskiwanie i instalacja narzędzi SSL (547)
- OpenSSL (547)
- Moduł mod_ssl serwera Apache (548)
- Zarządzanie certyfikatami (549)
- Tworzenie pary kluczy (550)
- Tworzenie prośby o podpisanie certyfikatu (551)
- Tworzenie certyfikatu podpisanego przez nas samych (552)
- Konfiguracja SSL (552)
- Uruchamianie serwera (553)
- Podsumowanie (553)
- Pytania i odpowiedzi (553)
- Warsztaty (554)
- Test (554)
- Odpowiedzi (554)
Rozdział 31. Optymalizacja i dostrajanie MySQL (555)
- Tworzenie zoptymalizowanej platformy (556)
- Stosowanie funkcji benchmark() (556)
- Opcje inicjalizacyjne MySQL (557)
- Kluczowe parametry startowe (558)
- Optymalizacja struktury tabel (559)
- Optymalizacja zapytań (560)
- Korzystanie z polecenia FLUSH (561)
- Korzystanie z polecenia SHOW (562)
- Pobieranie informacji o bazach danych i tabelach (563)
- Pobieranie informacji o strukturze tabel (564)
- Pobieranie statusu systemu (565)
- Podsumowanie (567)
- Pytania i odpowiedzi (568)
- Warsztaty (568)
- Test (568)
- Odpowiedzi (569)
- Ćwiczenia (569)
Rozdział 32. Aktualizacja oprogramowania (571)
- Trzymanie ręki na pulsie (571)
- Kiedy aktualizować? (572)
- Aktualizacja MySQL (573)
- Aktualizacja Apache (573)
- Modyfikowanie Apache bez dokonywania aktualizacji (574)
- Aktualizacja PHP (575)
- Rozszerzanie PHP za pomocą PECL i PEAR (575)
- Podsumowanie (575)
- Warsztaty (576)
- Test (576)
- Odpowiedzi (576)
Skorowidz (577)
|