Menu
Jest wolny
rejestracja
Dom  /  Multimedia/ Instalacja php 5 windows 7. Jak zainstalować PHP: wszystkie pułapki procesu

Instalowanie php 5 windows 7. Jak zainstalować PHP: wszystkie pułapki procesu

PHP to jeden z najpopularniejszych języków programowania do tworzenia stron internetowych i aplikacji internetowych. Stworzyła wiele gotowych systemów zarządzania treścią dla blogów, stron firmowych czy nawet sklepów internetowych. Pomimo tego, że język ten ma swoje wady, jest dość łatwy do nauczenia i dlatego bardzo często jest używany do tworzenia nowych witryn.

Interpreter php może być dostarczony jako moduł dla Apache, wykonywać skrypty z wiersz poleceń lub jako oddzielna usługa php-fpm. Usługi te różnią się możliwościami i przeznaczeniem, ale dla każdego tłumacza musisz ustawić podstawowe ustawienia, na przykład, folder roboczy, dołączone rozszerzenia, wyświetlanie błędów i tak dalej. Wszystkie te ustawienia są ustawiane za pomocą pliku php.ini. W tym samouczku przyjrzymy się, jak skonfigurować plik php.ini w system operacyjny Linux, chociaż wszystkie informacje będą działać również w systemie Windows.

Jeśli nie zainstalowałeś jeszcze interpretera języka programowania php, możesz przeczytać artykuł.

Dla każdej wersji interpretera plik konfiguracyjny php.ini znajduje się w osobnym folderze. Ale wszystko pliki konfiguracyjne znajdują się w folderze /etc/php, na przykład /etc/php5:

Folder conf.d zawiera Ustawienia główne dla różnych rozszerzeń i modułów, nie będą nas teraz interesować. Kolejne trzy foldery są bardziej interesujące - apache, cli i fpm. Zawierają pliki konfiguracyjne php.ini dla każdego z tych interpreterów.

Jeśli zamierzasz korzystać z kilku takich tłumaczy, będziesz musiał określić ustawienia dla każdego z nich z osobna. Możesz upewnić się, że w każdym z folderów znajduje się plik php.ini.

Jeśli chodzi o składnię pliku, to jest on podzielony na sekcje, najpierw jest sekcja ustawień php, która jest podzielona na podsekcje w zależności od typu ustawień, a następnie sekcje do konfiguracji różnych modułów. Składnia samych ustawień jest bardzo prosta, odpowiada zwykłej składni plików ini. Wiersz zaczyna się od nazwy ustawienia, po którym następuje znak równości, po którym następuje wartość:

nazwa_konfiguracji = wartość_parametru

Symbole oznaczają na przykład nazwę sekcji i symbol; oznacza komentarz, on i wszystkie znaki po nim nie są odczytywane przez tłumacza. Przyjrzyjmy się teraz, jak skonfigurowany jest plik php.ini i przejrzyj najważniejsze parametry.

Konfiguracja pliku php.ini

Dla wygody orientacji wszystkie parametry podzielimy na kategorie w zależności od ich przeznaczenia. Wystarczy, że znajdziesz żądany parametr i zmienisz jego wartość. Teraz otwórz plik ustawień php, na przykład dla modułu Apache i przejdź do konfiguracji. Aby uniknąć błędów, nie dodawaj nowych linii, ale szukaj istniejących i zmień wartości na pożądane:

sudo gedit /etc/php5/apache/php.ini

Najpierw jest trochę informacji o samym pliku w postaci komentarzy, potem interesujące nas ustawienia.

Wyjście błędu php

Konfiguracja php 7 zwykle zaczyna się od skonfigurowania wyjścia błędu. Wszystkie ustawienia wyświetlania błędów znajdują się w sekcji Obsługa i rejestrowanie błędów. Domyślnie wyświetlanie błędów na ekranie podczas wykonywania skryptu jest wyłączone. Dzieje się tak, aby użytkownicy nie widzieli niczego niepotrzebnego. Zamiast tego wszystkie błędy są zapisywane w pliku dziennika. Jeśli używasz php na komputer domowy, wtedy takie środki nie są potrzebne i możesz od razu wyświetlić wszystko na ekranie:

wyświetlanie_błędów = wyłączone

Wymień na on. Zastosowania PHP Różne rodzaje błędy, na przykład krytyczne, ostrzeżenia, błędy składniowe, korzystając z linii error_reporting można włączyć wyświetlanie tylko niektórych typów błędów:

raportowanie_błędów = E_ALL & ~ E_DEPRECATED

Jeśli chcesz połączyć kilka rodzajów błędów, użyj symbolu &, a aby wyłączyć wyświetlanie, poprzedź typ znakiem ~. Powyższy przykład wyświetla wszystkie błędy (E_ALL) z wyjątkiem przestarzałych komunikatów funkcji (E_DEPRECATED). Możesz wyłączyć wszystkie typy, używając 0:

raportowanie_błędów = 0

Włącz rejestrowanie błędów php, jeśli nie wyświetlasz ich na ekranie:

Aby nie zapychać dziennika wiadomościami tego samego typu, możesz zignorować powtarzające się błędy w ramach tego samego wykonania:

ignore_powtarzane_błędy = Włączone

Limity zasobów

Gdyby skrypty php nie były ograniczone zasobami, mogłyby łatwo przeciążyć serwer i uniemożliwić mu normalne działanie. Dlatego przez domyślny php ustala twarde limity, ale być może trzeba je trochę poluzować.

Domyślnie maksymalny czas wykonania skryptu to 30 sekund, zróbmy minutę:

max_czas_wykonania = 30

Jeśli podasz 0, skrypt może działać w nieskończoność. Możesz także ograniczyć czas, w którym skrypt będzie ładował dane, 60 sekund:

max_input_time = 60

Maksymalna liczba zmiennych w GET i POST:

max_input_vars = 1000

Poniższy parametr określa maksymalną ilość pamięci, jaką pojedynczy skrypt może wykorzystać podczas wykonywania, w megabajtach:

limit_pamięci = 128M

Maksymalny rozmiar danych przesyłanych w żądaniu POST jest również ograniczony, domyślny rozmiar to 8 megabajtów:

post_max_size = 8M

Możesz ograniczyć zakres php w systemie za pomocą opcji openbase_dir, określa ona folder, powyżej którego skrypt nie ma dostępu system plików:

open_basedir = / var / www /

Używając dyrektyw disable_functions i disable_classes, możesz wyłączyć korzystanie z niektórych funkcji lub klas w skryptach, na przykład może to być przydatne w przypadku hostingu WWW. W tym przykładzie wyłączamy korzystanie z funkcji ini_set, która umożliwia zmianę ustawień php ze skryptu:

disable_functions = ini_set

Katalogi domyślne

Plik konfiguracyjny php.ini umożliwia określenie domyślnych ścieżek systemu plików dla różnych akcji. Możesz określić foldery, w których system będzie szukał skryptów, jeśli spróbujesz je dołączyć za pomocą instrukcji include:

include_path = ".: / usr / udostępnij / php5: / usr / udostępnij / php5 / PEAR"

Folder modułów PHP:

katalog_rozszerzeń = "./"

Folder do nagrywania plików tymczasowych:

sys_temp_dir = "/ tmp"

Aby użytkownicy mogli wgrywać na serwer swoje pliki, na przykład zdjęcie, należy włączyć tę funkcję w php:

file_uploads = Wł.

Maksymalny rozmiar przesyłanego pliku:

upload_max_filesize = 2M

Maksymalna liczba plików, które może załadować jeden skrypt:

max_file_uploads = 20

Konfiguracja php.ini jest prawie ukończona, zostały nam tylko rozszerzenia.

Konfiguracja rozszerzeń

Rozszerzenia pozwalają znacznie zwiększyć funkcjonalność php. Na przykład dzięki rozszerzeniom możesz używać baz w swoich skryptach dane mysql, postgresql, mysqli, sqlite, biblioteka graficzna gd i nie tylko. Wszystko to jest zawarte w tej sekcji.

Aby włączyć rozszerzenie, po prostu usuń komentarz przed wierszem za pomocą jego polecenia, na przykład:

rozszerzenie = php_mysql.so
rozszerzenie = php_mbstring.so
rozszerzenie = php_pgsql.so

Należy pamiętać, że dla rozszerzenie Windows będzie w formacie dll, ale w przypadku Linuksa musisz go użyć. W kolejnych sekcjach każde z rozszerzeń jest konfigurowane, ale nie będziemy ich rozważać, ponieważ zazwyczaj nie wymagają konfiguracji.

wnioski

W tym artykule przyjrzeliśmy się, jak skonfigurować php na serwerze, lub zwykły komputer do tworzenia stron internetowych. Plik ustawień php ma dość prostą strukturę i nie jest trudny w obsłudze. Po uzupełnieniu wszystkich ustawień i zapisaniu zmian nie zapomnij zrestartować serwera WWW lub usługi php-fpm.

Ogólnie rzecz biorąc, php-fpm to osobny temat, ponieważ jest ich wiele dodatkowe ustawienia, a może przyjrzymy się temu w jednym z następnych artykułów. Jeśli masz jakieś pytania, pytaj w komentarzach!

1,3K

Ten artykuł zawiera: przewodnik krok po kroku zainstalować PHP do pracy z Apache HTTP Server w systemie Windows. Ta procedura została przetestowana zarówno w systemie Windows XP, jak i Vista. Zakłada się, że zakończyłeś już instalację Apache.

5 kroków konfiguracji PHP

1. Pobierz PHP 5

Zanim zaczniesz, pobierz kopię PHP 5 z strony pobierania... Pobierz chroniony pakiet VC6 z sekcji Windows Binaries - czyli nie pobieraj instalatora. Na przykład wybierz pakiet oznaczony „ Pakiet zip PHP 5.2.5", jeśli włączone ten moment aktualna wersja to 5.2.5.

Uwaga: Należy pamiętać, że nie testowałem poniższej procedury z Wersje PHP 5.3, dopiero od 5.2.5, który był Ostatnia wersja w momencie pisania tego tekstu. Teoretycznie te same kroki należy wykonać, aby zainstalować PHP 7.

2. Zainstaluj PHP 5

Utwórz folder dla PHP na dysku twardym. Proponuję c:php, chociaż możesz użyć innej nazwy folderu i lokalizacji. Osobiście wolę nie używać nazw ze spacjami.

Wyodrębnij wszystkie pliki z pobranego archiwum do tego folderu. Aby to zrobić, kliknij dwukrotnie plik zip. A następnie przeciągnij wszystkie pliki do folderu c: php.

3. Dla tych, którzy aktualizują pakiet: Usuń stary plik PHP.INI z katalogu Windows

Jeśli migrujesz do PHP 5 z więcej stara wersja, przejdź do katalogu Windows, ( zwykle c: windows) i usuń wszystkie wcześniej umieszczone tam pliki php.ini.

4. Konfiguracja PHP

Przejdź do folderu c: php i utwórz kopię zalecanego pliku php.ini. Nazwa nowy plik php.ini. Powinieneś teraz mieć plik c: php.in z taką samą zawartością jak c: php.ini-recommended.

Notatka. Jeśli używasz Apache 1, musisz przenieść plik php.ini do katalogu Windows ( c: okna) lub dostosuj Zmienna środowiskowa PATH do włączenia c: php. Jeśli nie wiesz, jak to zrobić, po prostu przenieś plik php.ini do folderu c: windows. Nie musisz tego robić, jeśli używasz Apache 2, ponieważ później określimy dyrektywę z lokalizacją pliku php.ini w pliku konfiguracyjnym Apache 2.

Aby zainstalować PHP w systemie Windows 7 za pomocą Edytor tekstu (na przykład taki jak Notatnik, który można znaleźć w sekcji „System” menu „Start”)? otwórz plik php.ini. Może być konieczne wprowadzenie następujących zmian w pliku:

a) W tym krótkie otwarte tagi

Znajdź następujący wiersz:

short_open_tag = Off

Jeśli short_open_tag jest wyłączone, tagi takie jak „

Ponieważ wiele skryptów PHP innych firm używa „

short_open_tag = Wł.

b) Magiczne cytaty

Podczas domyślnej instalacji Apache PHP przychodzące dane nie są automatycznie zastępowane ukośnikiem. Jeśli chcesz, aby dane wejściowe były poprzedzone odwrotnym ukośnikiem (""), na przykład, aby odtworzyć ustawienia hostingu, poszukaj następującego wiersza:

magic_quotes_gpc = Wyłączony

i zastąp go:

magic_quotes_gpc = Wł.

Nie jest to zalecane, jeśli ten parametr nie jest określony na hostingu. Nawet po wyłączeniu możesz nadal używać w PHP dodaje ukośniki () funkcja aby dodać ukośniki dla określonych fragmentów danych.

c) Korzystanie ze zmiennych globalnych

Wiele starych skryptów podczas wykonywania zakłada, że ​​wszystkie dane przesłane przez formularz będą automatycznie miały zmienną PHP o tej samej nazwie. Na przykład, jeśli formularz ma pole wejściowe o nazwie „coś”, stare skrypty PHP zakładają, że procesor PHP automatycznie utworzy zmienną o nazwie $ coś, która zawiera wartość określoną przez to pole.

Jeśli używasz takich skryptów, musisz znaleźć następującą linię:

register_globals = Off

i zmień go na:

register_globals = Wł.

Ostrzeżenie: podczas instalacji PHP w systemie Windows nie rób tego, chyba że masz skrypty innych firm, które wymagają tego do działania. Pisząc nowe skrypty, zawsze najlepiej założyć, że element register_globals jest ustawiony na „ Wyłączony«.

d) Wyświetlanie błędu

W działającej witrynie błędy skryptu są zwykle rejestrowane bez wyświetlania w pliku błędów PHP. Jednak na komputerze lokalnym, podczas testowania i debugowania skryptu PHP, wygodniej jest wysyłać komunikaty o błędach, gdy zostaną wykryte, bezpośrednio do okna przeglądarki. W ten sposób nie przegapisz błędów, nawet jeśli zapomnisz sprawdzić plik dziennika błędów.

Aby PHP wyświetlał komunikaty o błędach bezpośrednio w oknie przeglądarki, znajdź następujący wiersz:

display_errors = Off

i zmień go na:

display_errors = Wł.

W działającej witrynie ten parametr powinien być zawsze wyłączony.

e) Ścieżka sesji

Jeśli skrypt używa sesji, znajdź następujący wiersz:

; session.save_path = "/ tmp"

session.save_path określa folder, w którym PHP zapisuje pliki sesji. Ponieważ folder /tmp nie istnieje w systemie Windows, musisz zainstalować inny folder. Jednym ze sposobów jest utworzenie folderu o nazwie c: tmp ( jak poprzednio stworzyliśmy c: php) i określ ten folder dla tego parametru. Jeśli tak, zmień podaną linię w następujący sposób:

session.save_path = "c: tmp"

Zauważ, że oprócz zmiany ścieżki usunąłem również przedrostek średnika (";") z ciągu.

Możesz także użyć bieżącego folderu TEMP na swoim komputerze. Lub utwórz folder tmp w swoim katalogu PHP, taki jak c: phptmp i odpowiednio dostosuj plik konfiguracyjny. Możliwych opcji jest wiele. Jeśli nie możesz zdecydować, który wybrać, po prostu utwórz c:php i zrób tak, jak powiedziałem powyżej.

f) Serwer SMTP

Podczas instalacji PHP 5 5, jeśli skrypt używa funkcji mail() i chcesz, aby funkcja pomyślnie wysyłała pocztę na komputerze lokalnym, znajdź następującą sekcję:

; Tylko dla Win32. SMTP = lokalny host smtp_port = 25; Tylko dla Win32. ; sendmail_from = [e-mail chroniony]

Zmień go za pomocą adresu serwera SMTP i konta e-mail. Na przykład, jeśli twój serwer SMTP poczta.example.com a adres e-mail to [e-mail chroniony], zmień swój kod w ten sposób:

SMTP = mail.example.com smtp_port = 25 sendmail_from = [e-mail chroniony]

Należy pamiętać, że po tym, gdy skrypt spróbuje użyć funkcji mail(), będzie musiał połączyć się z usługodawcą internetowym, aby działał poprawnie. Jeśli nie zmienisz powyższych linii i spróbujesz użyć funkcji mail() w skrypcie, funkcja zwróci kod błędu i wyświetli komunikat o błędzie.

Jak skonfigurować Apache dla PHP 5

Istnieją dwa sposoby instalacji Apache PHP. Po pierwsze: skonfiguruj go do rozruchu Interpreter PHP jako moduł Apache. Po drugie, skonfiguruj go tak, aby uruchamiał interpreter jako binarny CGI. Wystarczy zastosować tylko jeden z nich. Wybierz metodę modułu, jeśli PHP jest również zainstalowane na hostingu jako moduł Apache, lub użyj metody CGI, jeśli jest zaimplementowana na hostingu.

a) Uruchamianie PHP 5 jako modułu Apache

Aby skonfigurować Apache do ładowania PHP jako modułu do analizowania skryptów PHP, użyj edytora tekstu ASCII, aby otworzyć plik konfiguracyjny Apache, httpd.conf.

Jeśli używasz Apache 1.x, plik znajduje się w folderze c: Program FilesApache GroupApacheconf... Użytkownicy Apache 2.0.x mogą go znaleźć w folderze C: Program FilesApache GroupApache2conf a użytkownicy Apache 2.2.x znajdują się w folderze C: Program FilesApache Software FoundationApache2.2conf... Zazwyczaj znajduje się w folderze conf w katalogu, w którym zainstalowany jest Apache.

Znajdź sekcję pliku, która zawiera instrukcje LoadModule. Deklaracje poprzedzone symbolem krzyżyka „#” są uważane za wykomentowane.

Jeśli używasz Apache 1.x, dodaj następujący wiersz po wszystkich instrukcjach LoadModule:

LoadModule php5_module "c: /php/php5apache.dll"

Jeśli używasz Apache 2.0.x, dodaj następujący wiersz po wszystkich instrukcjach LoadModule:

LoadModule php5_module "c: /php/php5apache2.dll"

Jeśli używasz Apache 2.2.x dodaj następujący wiersz:

LoadModule php5_module "c: /php/php5apache2_2.dll"

Zauważ, że ten przykład instalacji PHP używa znaku ukośnika ("/") zamiast tradycyjnego ukośnika odwrotnego Windows (""). To nie jest literówka.

Jeśli używasz Apache 1.x, znajdź serię instrukcji „AddModule” i dodaj następujące po wszystkich wierszach.

AddModule mod_php5.c

Następnie znajdź blok AddType w pliku i dodaj następujący wiersz po ostatniej instrukcji AddType. Należy to zrobić niezależnie od używanej wersji Apache. W przypadku Apache 2.2.x musisz znaleźć wiersze AddType w sekcji ... Dodaj linię tuż przed zamknięciemdla tej sekcji.

Jeśli potrzebujesz wsparcia dla innych typów plików, na przykład ".phtml", dodaj je do listy, na przykład tak:

Osoby korzystające z jednej z wersji Apache 2 muszą określić lokalizację pliku ini PHP. Dodaj następujący wiersz na końcu pliku httpd.conf.

PHPIniDir "c: / php"

Jeśli użyłeś innego katalogu, będziesz musiał zmienić c: / php na poprawną ścieżkę. Nie zapomnij użyć ukośnika („/”).

Jeśli używasz Apache 1, umieściłeś już plik php.ini w folderze Windows lub w innym miejscu w PATH. Dlatego PHP będzie musiało to znaleźć samodzielnie.

Uruchamianie PHP 5 jako pliku binarnego CGI

Jeśli skonfigurowałeś PHP 5 do ładowania jako moduł Apache, możesz pominąć tę sekcję. Jest przeznaczony dla tych, którzy chcą skonfigurować PHP tak, aby działał jako plik binarny CGI.

Procedura wykonywania tej czynności podczas instalacji PHP 7 jest taka sama dla Apache 1.xi wszystkich wersji serii 2.x.

Znajdź część pliku konfiguracyjnego Apache, która zawiera sekcję ScriptAlias. Dodaj poniższy wiersz tuż po wierszu ScriptAlias ​​dla „ cgi-bin”. Jeśli używasz Apache 2.2.x, upewnij się, że wiersz jest przed zamknięciemdla sekcji .

Notatka: jeśli zainstalowałeś PHP w innej lokalizacji, na przykład c: Program Filesphp, musisz podać odpowiednią ścieżkę zamiast c: /php / (na przykład c: Program Filesphp)... Pamiętaj, że używamy tutaj prostego ukośnika ("/") zamiast ukośnika odwrotnego Windows ("").

ScriptAlias ​​/ php / "c: / php /"

Apache musi skonfigurować typ PHP MIME. Znajdź blok komentarza AddType wyjaśniający jego użycie i dodaj następujący wiersz poniżej. W przypadku Apache 2.2.x znajdź wiersze AddType poniżej ... Dodaj poniżej linię tuż przed zamknięciem dla tej sekcji.

Aplikacja AddType / x-httpd-php .php

Podobnie jak w przypadku instalacji PHP jako modułu Apache, możesz dodać dowolne rozszerzenia, aby Apache rozpoznawał je jako skrypty PHP, na przykład:

Aplikacja AddType / x-httpd-php .phtml

Następnie musisz powiedzieć serwerowi, aby wykonywał plik wykonywalny PHP za każdym razem, gdy napotka skrypt PHP. Dodaj następujący kod do pliku, na przykład po bloku komentarza wyjaśniającym „ Akcja«.

Jeśli używasz Apache 2.2.x, dodaj kod zaraz po powyższej instrukcji AddType; w Apache 2.2.x nie ma bloku komentarzy " Akcja«.

Akcja aplikacji / x-httpd-php "/php/php-cgi.exe"

Uwaga: część „/ php /” zostanie rozpoznana jako ScriptAlias, rodzaj makra, które Apache rozwinie do „c: / php /” ( lub "c: / Program Files / php /", jeśli zainstalowałeś tam PHP). Innymi słowy, nie umieszczaj ścieżki "c: /php/php.exe" w tej dyrektywie lub "C: / Program Files / php / php.exe" i użyj "/php/php-cgi.exe".

Jeśli używasz Apache 2.2.x, znajdź następującą sekcję w pliku httpd.conf:

Dodaj poniższe wiersze zaraz za sekcją, którą właśnie znalazłeś.

AllowOverride Brak Opcje Brak Zamów zezwalaj, odmawiaj Zezwalaj wszystkim

c) Ustawianie domyślnej strony indeksu

Ta sekcja dotyczy opcji instalacji PHP w systemie Windows zarówno jako modułu Apache, jak i binarnego CGI.

Jeśli tworzysz plik index.php i chcesz, aby Apache ładował go jako stronę główną Twojej witryny, musisz dodać kolejną linię do pliku httpd.conf. Znajdź linię zaczynającą się od „ Indeks katalogu", I dodaj" index.php»Do listy plików. Na przykład, jeśli masz taki kod:

DirectoryIndex index.html

zmień go na:

DirectoryIndex index.php index.html

Przy następnym logowaniu do serwera WWW przy użyciu nazwy katalogu, na przykład „ Lokalny Gospodarz" lub " localhost / katalog /", Apache wyśle ​​wszystkie skrypty z pliku index.php lub zawartość pliku index.html, jeśli index.php nie jest dostępny.

Uruchom ponownie serwer WWW Apache

Uruchom ponownie serwer Apache. Jest to wymagane, aby Apache mógł odczytać nowe dyrektywy konfiguracyjne PHP, które umieściłeś w swoim pliku httpd.conf. Serwer Apache 2.2 można zrestartować, klikając dwukrotnie ikonę Apache Service Monitor na pasku zadań i klikając przycisk „Uruchom ponownie” w oknie, które się pojawi.

Testowanie instalacji PHP

Po zainstalowaniu PHP 5 5 lub innej wersji języka utwórz plik php z następującym wierszem:

Zapisz plik o nazwie test.php w katalogu htdocs Apache. Jeśli korzystasz z Notatnika, pamiętaj o zachowaniu nazwy „ test.php„Z cudzysłowami. W przeciwnym razie program sam doda rozszerzenie .txt.

Otwórz ten plik w przeglądarce, wpisując „localhost / test.php” w pasku adresu (bez cudzysłowów). Nie otwieraj pliku bezpośrednio w eksploratorze - zobaczysz tylko kod, który wprowadziłeś wcześniej. Musisz użyć powyższego adresu URL, aby przeglądarka próbowała uzyskać dostęp do serwera WWW Apache, na którym działa PHP w celu interpretacji skryptu.

Jeśli wszystko pójdzie dobrze, zobaczysz stronę z informacjami o ustawieniach PHP. Gratulacje - pomyślnie zainstalowałeś PHP i skonfigurowałeś Apache do pracy z nim. Możesz przesłać ten sam plik test.php na swój hosting i uruchomić go tam, aby dowiedzieć się, jak hosting skonfigurował PHP na sobie i spróbować odtworzyć te ustawienia na swoim komputerze.

Jeśli to nie zadziała, sprawdź, czy Twoja instalacja PHP lub Apache nie zgłasza błędów. Aby to zrobić, otwórz okno wiersza poleceń i uruchom php-cgi.exe na pliku test.php, na przykład c: phpphp-cgi test.php.

Jeśli wywołasz PHP z wiersza poleceń i zobaczysz duży plik HTML ze wszystkimi informacjami konfiguracyjnymi PHP, oznacza to, że PHP jest skonfigurowane poprawnie. Problem jest prawdopodobnie związany z konfiguracją Apache. Upewnij się, że ponownie uruchomiłeś Apache po wprowadzeniu zmian w konfiguracji i że poprawnie skonfigurowałeś serwer WWW.

Nauka PHP

Kompletny przewodnik dotyczący instalacji PHP można znaleźć na oficjalnej stronie tej technologii. Można go przeglądać online lub pobrać do nauki w trybie offline.

Miłego dnia wszystkim!

Niniejsza publikacja jest tłumaczeniem artykułu „ Jak zainstalować i skonfigurować PHP 5 do pracy z Apache w systemie Windows„Przygotowane przez przyjazny zespół projektowy

Twórcy aplikacji internetowych mogą mieć trudności z zainstalowaniem języka skryptowego PHP na Ubuntu Server. Wynika to z wielu czynników. Ale korzystając z tego przewodnika, każdy może uniknąć błędów podczas instalacji.

Instalację PHP na Ubuntu Server można wykonać na różne sposoby - wszystko zależy od jego wersji i wersji samego systemu operacyjnego. A główna różnica polega na samych poleceniach, które będą musiały zostać wykonane.

Warto również zauważyć, że pakiet PHP zawiera kilka komponentów, które w razie potrzeby można zainstalować oddzielnie.

Metoda 1: Standardowa instalacja

Instalacja standardowa zakłada najnowszą wersję pakietu. Jest inny dla każdego systemu operacyjnego Ubuntu Server:

  • 12.04 LTS (precyzyjny) - 5,3;
  • 14.04 LTS (zaufany) - 5,5;
  • 15.10 (Wily) - 5,6;
  • 16.04 LTS (Xenial) - 7.0.

Wszystkie pakiety są dystrybuowane za pośrednictwem oficjalnego repozytorium systemu operacyjnego, więc nie musisz podłączać zewnętrznego. Ale instalacja całego pakietu odbywa się w dwóch wersjach i zależy od wersji systemu operacyjnego. Tak więc, aby zainstalować PHP na Ubuntu Server 16.04, uruchom to polecenie:

sudo apt-get zainstaluj php

A dla wcześniejszych wersji:

sudo apt-get zainstaluj php5

Jeśli nie potrzebujesz wszystkich składników pakietu PHP w swoim systemie, możesz zainstalować je osobno. Jak to zrobić i jakie polecenia należy w tym celu wykonać, zostaną opisane poniżej.

Moduł serwera HTTP Apache

Aby zainstalować moduł PHP dla Apache na Ubuntu Server 16.04, musisz uruchomić następującą komendę:

sudo apt-get zainstaluj libapache2-mod-php

We wcześniejszych wersjach systemu operacyjnego:

sudo apt-get zainstaluj libapache2-mod-php5

Zostaniesz poproszony o podanie hasła, po wpisaniu którego musisz zezwolić na instalację. Aby to zrobić, wpisz literę "D" lub „T”(w zależności od lokalizacji serwera Ubuntu) i kliknij Wejść.

Aby zainstalować moduł FPM w systemie operacyjnym w wersji 16.04, wykonaj następujące czynności:

sudo apt-get zainstaluj php-fpm

We wcześniejszych wersjach:

sudo apt-get zainstaluj php5-fpm

W takim przypadku instalacja rozpocznie się automatycznie, natychmiast po wprowadzeniu hasła administratora.

CLI jest niezbędny programistom, którzy tworzą programy konsolowe w PHP. Aby zaimplementować do niego ten język programowania, w Ubuntu 16.04 musisz uruchomić polecenie:

sudo apt-get zainstaluj php-cli

We wcześniejszych wersjach:

sudo apt-get zainstaluj php5-cli

Rozszerzenia PHP

Aby zaimplementować wszystkie możliwe funkcje PHP, warto zainstalować szereg rozszerzeń do programów, z których korzystasz. Zaprezentowane zostaną teraz najpopularniejsze polecenia do wykonania takiej instalacji.

Uwaga: Poniżej zostaną podane dwa polecenia dla każdego rozszerzenia, z których pierwsze dotyczy Ubuntu Server 16.04, a drugie dotyczy wcześniejszych wersji systemu operacyjnego.


Trend w kierunku PHP 7 nabiera tempa. Ponieważ działa szybciej (obiektywnie!), jest wygodniejszy do programowania (ale w pewnym sensie nie jest dokładny).

Ten sam WordPress od dłuższego czasu potrafi pracować nad nowymi wersjami PHP. A inne popularne CMS nie pozostają w tyle. Dlatego sensowne jest przeniesienie całych serwerów do tej wersji. Ale jest pewien haczyk w tym, że oprogramowanie w oficjalnych repozytoriach dystrybucji Linuksa nie spieszy się z aktualizacją. Aby zainstalować coś nowego, z reguły musisz włamać się z dodatkowymi repozytoriami. Z pewnością nie ma z tym problemu, jeśli korzystasz z wirtualnego hostingu. Ale jeśli utrzymujesz witryny na własnych serwerach lub VPS, musisz już zajmować się aktualizacją i instalowaniem najnowszej wersji PHP. A ponieważ w 80% przypadków serwery korzystają z panelu kontrolnego ISPmanager 5, porozmawiamy o skonfigurowaniu w nim PHP 7. Dlaczego o tym piszę, a nie o wsparciu ISPsystem? I xs, bo w ich instrukcji nic o tym nie jest powiedziane.

Jakie wersje PHP są domyślnie instalowane w dystrybucjach Linuksa?

Hosterzy zazwyczaj oferują taki system operacyjny do instalacji na VPS lub serwerach dedykowanych:

Wersja systemu operacyjnego Domyślna wersja PHP
Debian 7 PHP 5,4
Debian 8 PHP 5,6
Centos 6 PHP 5,3
Centos 7 PHP 5,4
Ubuntu 14.04 PHP 5,5
Ubuntu 16.04 PHP 7,0

Oczywiście są inne opcje lub odwrotnie, może nie być czegoś z tej listy. Ale najnowsze wersje - Debian 8, Centos 7 i Ubuntu 16.04 - będą dostępne dla prawie każdej firmy hostingowej. Z tych trzech tylko ten ostatni może pochwalić się zainstalowanym PHP 7. Ale ma inne problemy - jest stosunkowo nowy i można w nim wyłapać niezrozumiałe usterki i błędy. Z mojego doświadczenia wynika, że ​​serwery Ubuntu mogą korzystać z wersji LTS (nawet 04) dopiero 2 lata po wydaniu. Przynajmniej jest to łatwiejsze niż szukanie przez długi czas i identyfikowanie problemów, które w zasadzie nie powinny istnieć. Doświadczyłem tego kilka razy z wydajnością niektórych programów w najnowszych wersjach Ubuntu.

Informacje o wersjach Ubuntu

Informacje o wersjach Ubuntu

Ogólnie jestem wielkim fanem właśnie ubuntu. Od wielu lat i wielu serwerów poświęciłem się współpracy z nią. Jest to doskonały i wygodny system operacyjny dla witryn na twoim serwerze. Ale to był sektor korporacyjny, gdzie wszystko jest gromadzone, debugowane i konfigurowane indywidualnie. Jednak kiedy zacząłem pracować z serwerami klienckimi od webmasterów, natknąłem się na fakt, że ani Ubuntu, ani nawet Debian nie są tak dobre jak Centos, a w szczególności Centos 7. Jest również zalecany przez twórców panelu sterowania ISPmanager. W praktyce w systemach opartych na deb (do nich odnosi się również ubuntu) napotkałem pewne usterki z tym panelem. Z centosami - prawie nigdy się nie zdarzyło.

Generalnie jest to kwestia łatwości administracji - praktycznie nie ma różnicy w działaniu oprogramowania, a co więcej, praktycznie nie ma między nimi stron. Brak różnicy w wydajności - tym bardziej. Ale w instalacji i konfiguracji oprogramowania - różnica może być już przyzwoita.

W Debianie i Ubuntu oprogramowanie jest dostarczane z kilkoma podstawowymi ustawieniami podczas instalacji. Nawet uruchamia się i działa zaraz po instalacji, jest dodawany do uruchamiania. Centos tego nie ma. Konfiguracje domyślnie, oprogramowanie nie uruchamia się automatycznie, a niektóre muszą być wstępnie skonfigurowane, w przeciwnym razie po prostu się nie uruchomi. Na przykład te same serwery DBMS - są instalowane niezainicjowane. I muszą zostać zainicjalizowane (utworzyć bazę systemu) ręcznie przed uruchomieniem.

To samo PHP 7 - na centosach łatwo go zainstalować, po prostu dodając dodatkowe repozytorium. Przynajmniej w 6., przynajmniej w 7. wersji. W Ubuntu 14.04 lub Debianie php 7 jest również instalowane z add. rzepa. Ale jest tam umieszczony równolegle do domyślnej pięty. A żeby Apache na nim działał, potrzebujesz dodatkowych. dostosowywanie. Ale korzystając z ISPmanagera 5, wszystko staje się znacznie łatwiejsze.

Zainstaluj PHP 7 na Centos z dodatkowych repozytoriów

Używałem tej metody już wcześniej. Faktem jest, że okazja, o której zamierzałem opowiedzieć, pojawiła się w ISPmanager stosunkowo niedawno. Dlatego musiałem zainstalować PHP 7 tylko z repozytorium Remi. Są inne, ale najlepsze. ISPmanager ma możliwość instalowania alternatywnych wersji PHP. Ale wcześniej mogły być używane tylko w trybie CGI. A ten tryb nie jest odpowiedni dla wszystkich i nie dla żadnej witryny. (). Wcześniej dla Apache i PHP-FPM stosowano ogólnosystemowe PHP - co jest wywoływane w panelu rodzinny. A jego wersja pokrywa się dokładnie z tymi, które podałem w tabliczce na początku artykułu. W szczególności w Centosie 7 będzie to 5.4. Tak więc, jeśli zaktualizujesz natywny do wymaganej wersji, Apache będzie na nim działał. Zostało to zrobione wcześniej.

To nie jest trudne.

Pobierz i zainstaluj repozytorium Remi:

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm

Dopuszczamy jego użycie:

W pliku /etc/yum.repos.d/remi-php70.repo potrzebne do pierwszej rzepy enable use - enabled musi mieć wartość 1. Domyślnie jest 0, co oznacza, że ​​repozytorium nie jest używane. Jest inny sposób, aby to włączyć, korzystając z opcji instalatora pakietów, ale używam tego, ponieważ jest łatwiejszy do zapamiętania i łatwiejszy do zrozumienia.

mniam zainstaluj -y php

Spowoduje to aktualizację natywnego php do wersji 7.0. Po aktualizacji możesz zrestartować panel, aby "zobaczył" aktualizację:

/ usr / local / mgr5 / sbin / mgrctl -m ispmgr exit

Aby to zrobić, wystarczy zatrzymać go w ten sposób z konsoli i ponownie uruchomić w przeglądarce. No, albo nie da się tego zrobić, w każdym razie php 7 jest już na serwerze i to właśnie on będzie używany w trybie modułu Apache lub php-fpm. (Nawiasem mówiąc, ogólnie można wiele zrobić z konsoli)

Ale to jest droga – tak zwana „kula”. Od jakiegoś czasu nie powinieneś go używać.

Włączenie PHP 7 jako modułu Apache w panelu ISPmanager 5

Ponieważ dzięki regularnym aktualizacjom panelu stało się możliwe korzystanie z dowolnej wersji PHP, od tych, które są instalowane jako alternatywy i były wcześniej dostępne tylko w trybie CGI. Tak zwany selektor wersji PHP. Niesamowita funkcja, polecam używanie ISPmanager właśnie do tego. Nigdzie indziej nie ma takiej wygody i prostoty. Mówi to ja, administrator, który bez fałszywej skromności zjadł psa przy zakładaniu serwerów bez paneli, a teraz z panelami. Tylko tutaj możesz łatwo i po prostu ustawić własną wersję PHP dla każdej witryny - od starożytnej 5.2, która była istotna, gdy tak naprawdę nie zacząłem nawet pracować, do najnowszej 7.1.

W menu opcji musisz zainstalować te same alternatywne wersje. Następnie będzie można użyć selektora dla każdej witryny, ale tylko w trybie CGI.

Domyślnie alternatywne wersje są włączone tylko dla trybów CGI i PHP-FPM (od niedawna).

Jednak w trybie modułu Apache nie będzie można od razu uruchomić tych wersji. Odpowiedni przycisk w menu PHP jest po prostu wyszarzony.

Przez dość długi czas nie mogłem zrozumieć, dlaczego tak jest i jak korzystać z tej funkcji. I właśnie zainstalowałem wymaganą wersję PHP z remy, w opisany wyżej sposób. Do dziś prosiłem o wsparcie - ale gdzie? Co więcej, wcześniej sumiennie wyszukiwałem w Google, znalazłem i przeczytałem oficjalny dokument dotyczący konfiguracji wersji PHP i nic w nim nie znalazłem.

Okazało się, że skrzynia otworzyła się po prostu:

Musisz dwukrotnie kliknąć wymaganą wersję PHP w menu „Funkcje”... W szczególności 7.0. Istnieje również odpowiednia opcja zainstalowania tej wersji php jako modułu Apache.

Następnie wróć do sekcji PHP i tam przycisk staje się aktywny dla wymaganej wersji.

Cóż, tutaj już przełączyłem się na wersję 7, więc pokazuję aktywny przycisk na wersji natywnej 5.4.

Cała powyższa metoda powinna działać zarówno na Debianie, jak i Ubuntu. W praktyce jeszcze tego nie testowałem. Sprawdź - wypisz się pliz. Ale metoda "crutch" w tym systemie operacyjnym będzie jeszcze bardziej szczupła niż w Centosie, ponieważ PHP 7 jest tam instalowane równolegle z 5. wersją, a w systemie są uzyskiwane DWIE wersje natywnego PHP. I tutaj chciałbym to rozgryźć 🙂 Dlatego polecam centos.

Włącz alternatywną wersję PHP 7 dla trybu NGINX + PHP-FPM w ISPmanager 5

To całkiem proste. Po zainstalowaniu wersji alternatywnej zostanie ona domyślnie zainstalowana dla PHP-FPM. Wystarczy włączyć wymaganą wersję w ustawieniach użytkownika:

Po tym wszystkie strony w trybie PHP-FPM dla tego użytkownika będą działały w php7.

Jak sprawdzić wersję PHP danej witryny i gdzie znaleźć jej ustawienia, plik php.ini?

Czasami, jeśli używasz kilku wersji PHP na serwerze, możesz mieć wątpliwości, czy używasz dokładnej wersji, którą zamierzałeś zbudować. Dobrym pomysłem jest również sprawdzenie obecności/braku wymaganych modułów. Albo tryb pracy PHP - że jest to dokładnie moduł apache, a nie cgi. Niezawodnym i w 100% działającym sposobem sprawdzenia tego jest dodanie pliku info.php do katalogu głównego żądanej witryny. Jego treść powinna wyglądać następująco:

phpinfo (INFO_MODULES);

Następnie wejdź na site.com/info.php i zobacz pełne zestawienie problemów, w których dręczyły Cię wątpliwości:

Co więcej, należy pamiętać, że główny plik konfiguracyjny alternatywnej wersji PHP zawartej w ten sposób wcale nie jest tam, gdzie się spodziewasz. Może to czasami prowadzić do długich wyszukiwań i niezrozumienia, dlaczego nie można zmienić tego lub innego parametru w konfiguracji PHP. Szukasz go w /etc/php.ini, ale strona używa php skonfigurowanego w zupełnie innym miejscu.

Korzystaj z phpinfo w każdej niejasnej sytuacji, zaoszczędzisz wiele czasu i nerwów.

Cóż, to wszystko dla mnie, załatwione z praktyczną częścią administracyjną. Dalej trochę filozofii.

Dlaczego warto korzystać z PHP 7?

A kutas go zna. Nie jestem programistą, nie rozumiem wszystkich uroków. Zauważono jednak, że wykonuje kod zauważalnie szybciej niż starsze wersje. Oto wyniki podane podczas testowania pracy drupala na PHP7 w prawdopodobnie dobrze znanym studium PHP 7 i pamięci podręcznych na Habré:

Jak widać, jest prawie 2 razy szybszy niż poprzednie wersje. Na przykład na serwerze referencyjnym z dyskiem SSD pusty referencyjny WordPress pokaże około 400-500 milisekund TTFB. Ale na php 7 z włączonym i skonfigurowanym akceleratorem opcache wp może działać z czasem odpowiedzi 150-250 ms. Albo może to nie zadziałać 🙂 ​​Możesz umieścić na nim jakiś niesamowity szablon premium z tego potwora szablonów, a potem kurwa zastanawiać się, dlaczego jest ładowany przez 3-5 sekund (to tylko TTFB, ale wizualnie jest ich 10-20 może być ). A także po to, żeby poczuć się jak kretyn, bo na demo developerów wszystko leci, otwiera się w 100-200 ms. Przecież nie wiesz, że wszystko jest zbuforowane do hebanu, nie potrzebujesz, żebyś jakoś wszedł w interakcję ze stroną, wystarczy ci ją sprzedać 🙂 A ten wordpress nawet nie uczestniczy tam w generowaniu stron - wszystko jest robione przez nginx i to z pamięci podręcznej daje natychmiast. Ale tak jest, liryczna dygresja od bolesnej.

Generalnie na temat optymalizacji i podkręcania czasu odpowiedzi zebrało się spore doświadczenie, a któregoś dnia najprawdopodobniej wyleję to na wasze głowy, moi drodzy czytelnicy 🙂 Poza tym optymalizacja i przyspieszenie autorów artykułów to jedno, mam już coś o tym napisałem. Ale na temat optymalizacji sklepów i usług internetowych toczy się osobna rozmowa i myślę, że powinna być szczególnie ciekawa. Więc?

Od autora: jeden przyjaciel (wciąż ten „krzywy mistrz spraw”) postanowił sam zmontować szafę. W rezultacie po kilku godzinach udręki miał tylko stolik. Taka metamorfoza się wydarzyła. Aby nie znaleźć się w podobnej sytuacji, spójrzmy, jak poprawnie zainstalować PHP.

Bez czego PHP nie będzie działać

- nie zwykłym językiem, ale językiem serwera. Z tego powodu samo zainstalowanie tłumacza języka nie wystarczy. Aby móc wykonać kod na komputerze osobistym, potrzebujesz lokalnego serwera.

W światowej sieci jest wystarczająco dużo takiej dobroci. Nie będziemy wymieniać zalet i wad każdego z serwerów. Zamiast tego opiszemy proces instalacji sprawdzonego Apache, który od dawna jest związany z rozwojem PHP.

Historia tego produktu jest szczegółowo opisana w Wikipedii. Ponieważ niezawodność Apache została udowodniona przez wiele lat „bezwzględnego” użytkowania, nie będzie on marnował cennego czasu na dowód. Spróbujmy samodzielnie zainstalować serwer PHP na komputerze z systemem Windows.

Instalowanie „indyjskiego”

Rozważ instalację krok po kroku serwera plemienia Apache Indian:

Wchodzimy na Apache.org, w menu po prawej stronie klikamy „Pobierz”. Następnie z podanej listy serwerów lustrzanych wybierz dowolny i pobierz instalację z rozszerzeniem .msi (format natywny dla Windows) i wersją nie niższą niż 2.2

Ponieważ projekt jest open source, teraz wiele zestawów tego serwera zostało „rozwiedzionych”. Jeśli nie możesz znaleźć określonego, udaj się pod ten adres. Natywne wersje Apache są dostępne do pobrania tutaj na serwerze lustrzanym.

Po pobraniu uruchamiamy pakiet instalacyjny do wykonania. Procedura instalacji jest standardowa: zgadzamy się na warunki użytkowania, podajemy nazwę domeny i serwera, „mydło” administratora. Następnie „Dalej”.

Określ katalog, w którym ma zostać zainstalowany serwer Apache PHP.

I czekamy na zakończenie procesu instalacji oprogramowania. Przejdź do katalogu, w którym zainstalowałeś Apache. Znajdź httpd.conf w folderze konfiguracyjnym i otwórz go. Znajdź wiersz „Odmów wszystkim” i skomentuj tę dyrektywę. W ten sposób usuwamy wbudowaną ochronę serwera, która nie jest potrzebna do lokalnego korzystania z Apache. Oznacza to, że otwieramy dostęp do wszystkich folderów, w tym wirtualnych. Jeśli nie zostanie to zrobione, program, próbując uzyskać dostęp do któregokolwiek z katalogów, wygeneruje błąd „403”.

Zapisz wszystkie zmiany i uruchom ponownie serwer.

Przechodząc do PHP

Przejdź do php.net i pobierz jedną z "86" wersji pakietu dystrybucyjnego (lepiej chronionej). Następnie rozpakowujemy go w osobnym folderze na tym samym dysku co serwer. Nie będę w pełni opisywał wszystkich opcji językowych, które można zmienić. Więcej na ten temat można przeczytać w dołączonej dokumentacji technicznej.

Chciałbym zauważyć, że wszystko Ustawienia PHP są ustawione w pliku php.ini. Otwiera się w dowolnym edytorze (w tym w Notatniku). Podam opis kilku powszechnie używanych parametrów, które są ustawiane za pomocą tego pliku:

post_max_size - ustawia maksymalną ilość danych, które można przetworzyć jednocześnie metodą POST.

upload_max_filesize to maksymalny rozmiar plików, które można przesłać.

default_charset - za pomocą tego parametru możesz ustawić domyślne kodowanie na utf 8 w PHP.

Teraz, dla pełnego szczęścia, pozostaje zarejestrować kilka linijek w httpd.conf. Dzięki nim połączymy PHP z lokalnym serwerem, aby działał jako moduł Apache. To wystarczy do pisania i testowania kodu w domu. Te wiersze należy umieścić w środku pliku:

LoadModule php5_module ścieżka do instalacji PHP / php5apache2_2.dll - łączy bibliotekę, z którą dystrybucja będzie używana jako moduł.

PHPIniDir „ścieżka do php.ini/pliku” (np. PHPIniDir „F:/php-5.3.5/”) – zrozumiałe bez słów.

AddType application / x-httpd-php phtml php - konfiguruje powiązania między plikami PHP a typem MIME (aplikacja / x-httpd-php).

Jak to jest? Konfiguracja wymaga czasu, skupienia i umiejętności. Czy kiedykolwiek myślałeś, że najprościej jest już zmontowana „szafa”. Choć w naszym przypadku szafka to gotowy pakiet oprogramowania, w skład którego wchodzą PHP, serwer i DBMS. Jasne jest, że mówimy o Denver. Dzięki niemu żadna „szafa” nie będzie w stanie zamienić się pod „zręcznymi” rękami specjalisty w swego rodzaju „stolik” czy „stolik nocny”.