Instalacja na systemach Windows

Ten rozdział dotyczy systemół Windows 95 / 98 / Me i Windows NT / 2000 / XP . ( Proces instalacji nie został sprawdzony na XP ) . Nie spodziewaj się , że PHP będzie działać na 16-bitowych platformach takich jak Windows 3.1 . Czasem odnosimy się do obsługiwanych platform jako Win32

dwa główne sposoby instalacji PHP na Windowsach : albo ręcznie lub używając instalatora InstallShield .

Jeśli masz Microsoft Visual Studio , możesz budować PHP z orginalnego kodu źródłowego .

Jak już zainstalujesz PHP na systemie Windows możesz chceć dołączyć różne rozszerzenia aby zwiększyć funkcjonalność .

Windows InstallShield

Instalator PHP pod Windows jest dostępny pod adresem http : / /www.php.net / . Pakiet ten instaluje PHP i , w przypadku IIS , PWS i Xitami , także konfiguruje serwer WWW . Zauważ także , że pomimo że instalator InstallShield jest łatwym sposobem na zmuszenie PHP do pracy , ma on wiele ograniczeń , np . nie obsługuje automatycznego ustawienia rozszerzeń .

Zainstaluj wybrany serwer HTTP i upewnij się że on działa .

Uruchom instalator i wykonuj polecenia pojawiające się na ekranie . Dostępne w rodzaje instalacji : standardowa , która ustawia domyślne opcje , i zaawansowana , która zadaje pytania podczas instalacji .

Instalator zbiera informacje niezbędne do ustawienia pliku php.ini i konfiguracji serwera WWW do użycia PHP . Dla serwera IIS a także PWS na NT Workstation , wyświetlana jest lista węzłów na serwerze z ustawieniami mapowania skryptów , z których możesz wybrać węzły do których chcesz dodać mapowania skryptów PHP .

Po procesie instalacji instalator poinformuje cię czy potrzebujesz zrestartować system , zrestartować serwer lub poprostu zacznij używać PHP .

Ostrzeżenie

Wiedz , że taki sposób instalacji PHP nie jest bezpieczny . Jeśli potrzebujesz bezpiecznego sposobu na instalację PHP , zrób to lepiej ręcznie , rozważnie dobierając każdą opcję . Instalator automatyczny daje ci od razu działające PHP , ale nie jest ono przeznaczone do pracy na serwerach produkcyjnych .

Ręczny proces instalacji

Ten przewodnik poprowadzi cię przez ręczną instalację i konfigurację PHP na serwerach WWW pracujących pod systemami Windows . Musisz pobrać pakiet binariów PHP ze strony http : / /www.php.net / . Orginalna wersja tego przewodnika została napisana przez Bob Silva i znaleźć można pod adresem http : / /www.umesd.k12.or.us / php / win32install.html .

Ten przewodnik opisuje proces ręcznej instalacji dla :



PHP 4 dla Windows dostępny jest w dwóch postaciach : jako plik wykonywalny CGI ( php.exe ) lub jako kilka rodzajów modułów SAPI (na przykład php4isapi.dll ) . Ta druga postać jest nowością wprowadzoną w PHP 4 i wprowadza znacznie poprawioną wydajność i ulepszoną funkcjonalnoś .

Ostrzeżenie

Jednakże moduły SAPI NIE powinny być używane na produkcyjnych serwerach . Ogólnie mówiąc , moduły ISAPI mają poważne problemy z niezawodnością , zwłaszcza na platformach starszych niż W2K - możesz doświadczyc wielu błędów 500 serwera a także niestabilności innych modułów serwera , jak np . ASP . Zostałeś ostrzeżony !

Powodem jest to , że moduły PHP SAPI używają PHP w wersji z bezpiecznymi wątkami , co jest nowością w PHP 4 i nie zostało to na tyle przetestowane aby zostało uznane za stabilne , a do tego znaleziono już kilka błędów . Z drugiej strony , użytkownicy zgłaszali uzyskiwanie bardzo dobrych wyników z modułami SAPI , jednakże nie znamy nikogo używającego ich na produkcyjnym serwerze . Podsumowując : jeśli potrzebujesz absolutnej stabilności , zamień wydajność modułów SAPI na stabilność plików wykonywalnych CGI .

Jeśli wybierzesz jeden z modułów SAPI i używasz Windows 95 , musisz uaktualnić DCOM ze stron Microsoft DCOM . Dla modułu ISAPI wymagany jest serwer WWW kompatybilny z ISAPI 4.0 ( sprawdzone z IIS 4.0 , PWS 4.0 i IIS 5.0 ) . IIS 3.0 NIE jest obsługiwane ; jeśli potrzebujesz natywnej obsługi PHP powinieneś zainstalować Windows NT 4.0 Option Pack z IIS 4.0 .

Poniższe kroki powinny być wykonane przed intrukcjami dla konkretnego serwera .



Budowanie ze źródeł

Przed rozpoczęciem warto jest odpowiedzieć sobie na pytanie : " Dlaczego budowanie pod Windowsem jest takie trudne ? " Do głowy przechodzą dwie odpowiedzi :

  1. Nie ma dużej społeczności programistów lubiących Windows którzy chętnie dzielą się swoimi kodami źródłowymi . Bezpośrednim efektem jest to , że nie poniesione zostały niezbędne inwestycje w infrastrukturę wymaganą do rozwoju oprogramowania . Zasadniczo to co teraz jest dostępne , to niezbędne narzędzia przeniesione z systemu UNIX . Nie zdziw się , jeśli od czasu do czasu pokażą się takie dziedzictwo .

  2. Większosc poniższych instrukcji w stylu " ustaw i zapomnij " . A więc usiądź wygodnie i wykonuj polecenia tak dokładnie jak tylko możesz .

Przygotowania

Zanim zaczniesz , masz dużo rzeczy do pobrania.. .

  • Dla początkujących , pobierz zestaw Cygwin z najbliższego mirrora cygwin . Zestaw ten zawiera większość popularnych narzędzi GNU używanych w procesie budowania .

  • Pobierz resztę narzędzi niezbędnych do budowania z http : / /www.php.net / extra / win32build.zip .

  • Pobierz kod źródłowy reseolvera nazw DNS używanego przrz PHP z http : / /www.php.net / extra / bindlib_w32.zip . Jest to zamiennik biblioteki resolv.lib zawartej w win32build.zip .

  • Jeśli nie masz narzędzia unzip , musisz je pobrać . If you don ' t already have an unzip utility , you will need one . Darmowa wersja dostępna jest na InfoZip .

Na koniec , potrzebujesz źródeł samego PHP 4 . Możesz pobrać najnowsze źródła korzystając z anonimowego serwera CVS . Jeśli pobierzesz plik typu tarball ze snapshotem lub źródłami , nie tylko będziesz musiał odpakować go tar' em i gzip 'em , ale tekże skonwertować znaki końca linii w plikach *.dsp i *.dsw zanim Microsoft Visual C+ + będzie w stanie cokolwiek z nimi zrobić .

Notatka : Umieść katalogi Zend i TSRM directories wewnątrz katalogu php4 aby w procesie budowania były znalezione przez projekty .

Składanie wszystkiego razem

  • Wykonaj poniższe instrukcje aby zainstalować narzędzie Cygwin .

  • Uruchom setup.exe i wykonuj polecenia instalatora . Jeśli wybierzesz ścieżkę instalacji inną niź c:\cygnus , poinformuj o tym proces budowania przez ustawienie zmiennej środowiskowej Cygwin . Pod systemem Windows 95 / 98 zmienne środowiskowe ustawia się przez dodawanie odpowiedniej linii do pliku autoexec.bat . Pod systemem Windows NT wejdź w Mój Komputer = Panel Sterowania = System i wybierz zakładkę Środowisko .

    Ostrzeżenie

    Stwórz tymczasowy katalog do użytku Cygwin . Bez niego wiele poleceń ( zwłaszcza bison ) nie będzie działać . Na Windows 95 / 98 , mkdir C:\TMP . Na Windows NT , mkdir %SystemDrive%\tmp .

  • Stwórz katalog i odzipuj win32build.zip do niego .

  • Uruchom Microsoft Visual C+ + i z menu wybierz Tools = Options . W oknie dialogowym wybierz zakładkę ' Directories ' . Kolejno zmień listę rozwijaną na Executables , Includes , i Library files , aby się upewnić się , że cygwin\bin , win32build\include , i win32build\lib na każdej liście . ( Aby dodać wpis , wybierz pustą linię z końca listy i zacznij pisać ) . Zazwyczaj wpisy wyglądają tak :

    • c:\cygnus\bin

    • c:\php-win32build\include

    • c:\php-win32build\lib

    Wciśnij OK i wyjdź z Visual C++ .

  • Stwórz kolejny katalog i odzipuj do niego bindlib_w32.zip . Zdecyduj się czy potrzebujesz symbole do debugowania ( bindlib - Win32 Debug ) czy nie (bindlib - Win32 Release ) . Zbuduj odpowiednią konfigurację :

    • Dla użytkowników GUI , uruchom VC+ + a potem wybierz File = Open Workspace i wybierz bindlib . Potem wybierz Build= Set Active Configuration i wybierz pożądaną konfigurację . Na koniec wybierz Build= Rebuild All .

    • Dla użytkowników linii poleceń , upewnij się że zarejestrowałeś zmienne środowiskowe C+ + lub uruchomiłeś vcvars.bat , a później wykonaj jedno z poniższych poleceń :

    • W tym momencie powinieneś mieć gotowy do użytku resolv.lib w katalogu Debug lub Release . Skopiuj ten plik do katalogu win32build\lib nadpisując plik o tej samej nazwie który już tam istnieje .

Instalacja rozszerzeń dla Windows

Po zainstalowaniu PHP i serwera WWW na systemie Windows prawdobopodobnie będziesz chciał zainstalować różne rozszerzenia aby zwiększyć funkcjonalność PHP . Poniższa tabela opisuje niektóre dostępne rozszerzenia . Możesz wybrać które rozszerzenia chcesz załadować kiedy PHP jest uruchamiane poprzez odkomentowanie linii ' extension=php_*.dll ' w pliku php.ini . Moduły możesz także dołączać dynamicznie w swoim skrypcie kożystając z funkcji dl( ) .

Nazwy DLLi z rozszerzeniami PHP 4 zaczynają się od ' php_ ' ('php3_ ' w przypadku PHP 3 ) . Zapobiega to pomieszaniu rozszerzeń PHP i wspierających je bibliotek .

Notatka : W PHP 4.0.6 obsługa BCMath , Calendar , COM , FTP , MySQL , ODBC , PCRE , Sesji , WDDX i XML jest wbudowana . Nie potrzbujesz ładować żadnych dodatkowych rozszerzeń aby korzystać z tych funkcji . Przeczytaj zawartość pliku README.txt lub install.txt aby uzyskać listę wbudowanych modułów .

Notatka : Niektóre z tych rozszerzeń potrzebują do pracy dodatkowych DLLi . Kilka z nich można znaleźć w pakiecie dystrybucyjnym , w katalogu ' dlls' , ale dla niektórych , takich jak Oracle (php_oci8.dll ) , wymagane DLLe nie dołączone do pakietu dystrybucyjnego .

Skopuj dołączone DLLe z katalogi ' dlls ' do katalogu który przeszukije Windows . Dobrymi miejscami :

c:\windows\system dla Windows 9x / Me
c:\winnt\system32 dla Windows NT / 2000 / XP
Jeśłi któreś z nich są już zainstalowane na twoim systemie, nadpisz je tylko jeśli coś nie działa w porządku (przed nadpisaniem ich dobrze jest zrobić kopię zapasową, lub przenieść je do innego folderu - na wszelki wypadek).

Tabela 3-1 . Rozszerzenia PHP

Rozszerzenia Opis Uwagi
bzip2 - funkcje kompresji Brak
Calendar - funkcje konwersji kalendarza Wbudowane od PHP 4.0.3
funkcje ClibPDF Brak
funkcje Crypt Brak
rodzina funcji ctype Brak
CURL , Client URL Wymaga : libeay32.dll , ssleay32.dll ( dołączone do dystrybucji )
funkcje opłat Cybercash Brak
funkcje DBM Niezalecane . Zamiast tego użyj DBA ( php_dba.dll )
funkcje DBA : DataBase ( dbm-style ) Abstraction Layer Brak
funkcje dBase Brak
biblioteka Berkeley DB2 Brak
funkcje DOM XML Wymaga : libxml2.dll ( dołączony do dystrybucji )
funkcje .NET Brak
nagłówki Read EXIF z JPEG Brak
funkcje FrontBase Brak
funkcje FDF : Forms Data Format Wymaga : fdftk.dll ( dołączony do dystrybucji )
funkcje filePro Dostęp tylko do odczytu
funkcje FTP Wbudowane od PHP 4.0.3
Biblioteka obróbki obrazów GD Brak
funkcje Gettext Wymaga : gnu_gettext.dll ( dołączony do dystrybucji )
funkcje HyperWave Brak
konwersja tablicy znaków ICONV Wymaga : iconv-1.3.dll ( dołączony do dystrybucji )
funkcje Informix Wymaga : bibliotek Informix
funkcje zarządzania IIS Brak
funkcje IMAP , POP3 i NNTP
funkcje Ingres II Wymaga : bibliotek Ingres II
funkcje InterBase Wymaga : gds32.dll ( dołączony do dystrybucji )
rozszerzenie Java Wymaga : jvm.dll ( dołączony do dystrybucji )
funkcje LDAP Wymaga : libsasl.dll ( dołączony do dystrybucji )
funkcje Mhash Brak
funkcje Ming dla Flasha Brak
funkcje mSQL Wymaga : msql.dll ( dołączony do dystrybucji )
klient mSQL 1 Brak
klient mSQL 2 Brak
funkcje MSSQL Wymaga : ntwdblib.dll ( dołączony do dystrybucji )
funkcje MySQL Wbudowany w PHP 4
funkcje poczty Netscape Brak
funkcje Oracle Brak
funkcje Oracle 8 Wymaga : biblioteki klienta Oracle 8
funkcje OpenSSL Wymaga : libeay32.dll ( dołączony do dystrybucji )
funkcje Oracle Wymaga : biblioteki klienta Oracle 7
funkcje PDF Brak
funkcje PostgreSQL Brak
funkcje Drukarki brak
php_sablot.dll funkcje XSLT Wymaga : sablot.dll ( dołączony do dystrybucji )
funkcje SNMP tylko NT !
funkcje Sybase Wymaga : biblioteki klienta Sybase
funkcje YAZ Brak
funkcje kompresji ZLib Brak