Podesite php ini fajl. Korak po korak uputstva za postavljanje PHP-a na hosting

20.02.2024

Web stranica programera: http://www.php.net/
Distribucija(VC9 x86 Thread Safe, Zip arhiva): http://windows.php.net/download/
Direktan link: php-5.3.10-Win32-VC9-x86.zip
Istovremeno, odmah preuzmite dokumentaciju na ruskom jeziku u .chm formatu, trebat će vam prilikom učenja i rada: php_enhanced_ru.chm

Raspakujte arhivu u željeni direktorijum (u početku se predlaže “C:\php”). Otvorite konfiguracionu datoteku koja sadrži preporučena podešavanja - “php.ini-development” (koja se nalazi u korenu distribucije), preimenujte je u php.ini i izvršite sledeće promene.

Uređivanje php.ini:

  1. Pronađite liniju:
    post_max_size = 8M
    Povećajte maksimalnu veličinu podataka prihvaćenu metodom POST na 16 MB mijenjajući je u:
    post_max_size = 16M
  2. Pronađite liniju:
    ;include_path = ".;c:\php\includes"
    Dekomentirajte ga tako što ćete ukloniti tačku i zarez ispred reda.
    (Izuzetak pažnja! Kose crte unatrag prilikom navođenja putanje):
    include_path = ".;c:\php\includes"
    Kreirajte prazan direktorij "C:\php\includes" za spremanje uključenih klasa.
  3. Pronađite liniju:
    extension_dir = "./"
    Postavite vrijednost ove direktive na putanju do mape s ekstenzijama:
    extension_dir = "C:/php/ext"
  4. Pronađite liniju:
    ;upload_tmp_dir =
    Dekomentirajte ga i navedite sljedeću stazu u vrijednosti:
    upload_tmp_dir = "C:/php/upload"
    Kreirajte praznu fasciklu “C:\php\upload” za skladištenje privremenih datoteka otpremljenih putem HTTP-a.
  5. Pronađite liniju:
    upload_max_filesize = 2M
    Povećajte maksimalnu dozvoljenu veličinu datoteke za otpremanje na 16 MB:
    upload_max_filesize = 16M
  6. Povežite, dekomentirajte, podatke biblioteke ekstenzija:
    extension=php_bz2.dll
    extension=php_curl.dll
    extension=php_gd2.dll
    extension=php_mbstring.dll
    extension=php_mysql.dll
    extension=php_mysqli.dll
  7. Pronađite liniju:
    ;date.timezone=
    Dekomentirajte i postavite vrijednost na vremensku zonu vaše lokacije (lista vremenskih zona možete pronaći u dokumentaciji):
    date.timezone = "Evropa/Moskva"
  8. Pronađite liniju:
    ;session.save_path = "/tmp"
    Dekomentirajte i postavite vrijednost ove direktive na sljedeću putanju:
    session.save_path = "C:/php/tmp"
    Kreirajte prazan folder “C:\php\tmp” za pohranjivanje privremenih datoteka sesije.

Sačuvajte promene i zatvorite php.ini fajl.

Zatim morate dodati direktorij sa instaliranim PHP interpreterom u PATH operativnog sistema. Da biste to uradili, pratite putanju “Start” -> “Kontrolna tabla” -> “Sistem”, otvorite karticu “Napredno”, kliknite na “Varijable okruženja”, u odjeljku “Sistemske varijable”, dvaput kliknite na “Putanja ” u polje dodajte “Variable Value”, u ono što već postoji, putanju do direktorija sa instaliranim PHP-om, na primjer, “C:\php” (bez navodnika). Imajte na umu da znak zarez razdvaja putanje. Da bi promjene stupile na snagu, ponovo pokrenite operativni sistem.

Primjer niza putanje:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\php;C:\Program Files\MySQL\MySQL Server 5.5\bin

Instalacija i konfiguracija PHP interpretera je završena.

Opis povezanih biblioteka:

php_bz2.dll– Koristeći ovo proširenje, PHP će moći da kreira i raspakuje arhive u bzip2 formatu.

php_curl.dll– Veoma važna i neophodna biblioteka koja vam omogućava povezivanje i rad sa serverima koristeći ogroman broj internet protokola.

php_gd2.dll– Još jedna nezaobilazna biblioteka koja vam omogućava rad sa grafikom. Da li ste mislili da možete generisati HTML stranice samo u PHP-u? Ali ne! Sa PHP-om možete raditi gotovo sve, uključujući crtanje.

php_mbstring.dll– Biblioteka sadrži funkcije za rad sa višebajtnim kodiranjem, koje uključuju kodiranja istočnih jezika (japanski, kineski, korejski), Unicode (UTF-8) i druge.

php_mysql.dll– Naziv biblioteke govori sam za sebe – potrebno je raditi sa MySQL serverom.

php_mysqli.dll– Ova biblioteka je proširenje prethodne i sadrži dodatne PHP funkcije za rad sa MySQL serverom verzije 4.1.3 i novijim.

Ove biblioteke bi trebale biti dovoljne da PHP radi ispravno. Vremenom, ako se ukaže potreba, moći ćete da povežete dodatne biblioteke, ali ne bi trebalo da ih povezujete sve odjednom sa mišlju da nećete pokvariti kašu sa puterom u ovom slučaju, prevelikim brojem povezanih biblioteka može značajno usporiti PHP.

Originalni članak: http://php-myadmin.ru/learning/instrument-php.html


Direktan link: php-5.3.10-Win32-VC9-x86.zip
Istovremeno, odmah preuzmite dokumentaciju na ruskom jeziku u .chm formatu, trebat će vam prilikom učenja i rada: php_enhanced_ru.chm

Raspakujte arhivu u željeni direktorijum (u početku se predlaže "C:\php"). Otvorite konfiguracionu datoteku koja sadrži preporučena podešavanja - "php.ini-development" (nalazi se u korenu distribucije), preimenujte je u php.ini i izvršite sledeće promene.

Uređivanje php.ini:

  1. Pronađite liniju:
    post_max_size = 8M
    Povećajte maksimalnu veličinu podataka prihvaćenu metodom POST na 16 MB mijenjajući je u:
    post_max_size = 16M
  2. Pronađite liniju:
    ;include_path = ".;c:\php\includes"
    Dekomentirajte ga tako što ćete ukloniti tačku i zarez ispred reda.
    (Izuzetak pažnja! Kose crte unatrag prilikom navođenja putanje):
    include_path = ".;c:\php\includes"
    Kreirajte prazan direktorij "C:\php\includes" za spremanje uključenih klasa.
  3. Pronađite liniju:
    extension_dir = "./"
    Postavite vrijednost ove direktive na putanju do mape s ekstenzijama:
    extension_dir = "C:/php/ext"
  4. Pronađite liniju:
    ;upload_tmp_dir =
    Dekomentirajte ga i navedite sljedeću stazu u vrijednosti:
    upload_tmp_dir = "C:/php/upload"
    Kreirajte prazan folder "C:\php\upload" za pohranjivanje privremenih datoteka otpremljenih putem HTTP-a.
  5. Pronađite liniju:
    upload_max_filesize = 2M
    Povećajte maksimalnu dozvoljenu veličinu datoteke za otpremanje na 16 MB:
    upload_max_filesize = 16M
  6. Povežite, dekomentirajte, podatke biblioteke ekstenzija:
    extension=php_bz2.dll
    extension=php_curl.dll
    extension=php_gd2.dll
    extension=php_mbstring.dll
    extension=php_mysql.dll
    extension=php_mysqli.dll
  7. Pronađite liniju:
    ;date.timezone=
    Dekomentirajte i postavite vrijednost na vremensku zonu vaše lokacije (lista vremenskih zona možete pronaći u dokumentaciji):
    date.timezone = "Evropa/Moskva"
  8. Pronađite liniju:
    ;session.save_path = "/tmp"
    Dekomentirajte i postavite vrijednost ove direktive na sljedeću putanju:
    session.save_path = "C:/php/tmp"
    Kreirajte prazan folder "C:\php\tmp" za pohranjivanje privremenih datoteka sesije.
Sačuvajte promene i zatvorite php.ini fajl.

Zatim morate dodati direktorij sa instaliranim PHP interpreterom u PATH operativnog sistema. Da biste to uradili, pratite putanju "Start" -> "Kontrolna tabla" -> "Sistem", otvorite karticu "Napredno", kliknite na dugme "Varijable okruženja", u odjeljku "Sistemske varijable", dvaput kliknite na " Putanja” u polje dodajte “Variable Value”, u ono što već postoji, putanju do direktorija sa instaliranim PHP-om, na primjer, “C:\php” (bez navodnika). Imajte na umu da znak zarez razdvaja putanje. Da bi promjene stupile na snagu, ponovo pokrenite operativni sistem.

Primjer niza putanje:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\php;C:\Program Files\MySQL\MySQL Server 5.5\bin

Instalacija i konfiguracija PHP interpretera je završena.

Opis povezanih biblioteka:

php_bz2.dll– Koristeći ovo proširenje, PHP će moći da kreira i raspakuje arhive u bzip2 formatu.

php_curl.dll– Veoma važna i neophodna biblioteka koja vam omogućava povezivanje i rad sa serverima koristeći ogroman broj internet protokola.

php_gd2.dll– Još jedna nezaobilazna biblioteka koja vam omogućava rad sa grafikom. Da li ste mislili da možete generisati HTML stranice samo u PHP-u? Ali ne! Sa PHP-om možete raditi gotovo sve, uključujući crtanje.

php_mbstring.dll– Biblioteka sadrži funkcije za rad sa višebajtnim kodiranjem, koje uključuju kodiranja istočnih jezika (japanski, kineski, korejski), Unicode (UTF-8) i druge.

php_mysql.dll– Naziv biblioteke govori sam za sebe – potrebno je raditi sa MySQL serverom.

php_mysqli.dll– Ova biblioteka je proširenje prethodne i sadrži dodatne PHP funkcije za rad sa MySQL serverom verzije 4.1.3 i novijim.

Ove biblioteke bi trebale biti dovoljne da PHP radi ispravno. Vremenom, ako se ukaže potreba, moći ćete da povežete dodatne biblioteke, ali ne bi trebalo da ih povezujete sve odjednom sa mišlju da nećete pokvariti kašu sa puterom u ovom slučaju, prevelikim brojem povezanih biblioteka može značajno usporiti PHP.

«

Kurs je namenjen osnovnoj obuci administratora sajtova kreiranih na "1C-Bitrix: Upravljanje sajtom". Nakon studiranja kursa, savladaćete osnovne metode sistemske administracije, kao i proširiti svoja znanja o temama koje se izučavaju na kursu Content Manager.

Ako savjesno učite predmet, naučit ćete:

  • upravljati pristupom sistemu, sajtovima, korisnicima, grupama korisnika;
  • rad sa sistemskim alatima;
  • koristiti mogućnosti interfejsa za upravljanje sistemom;
  • rad sa modulima "1C-Bitrix: Upravljanje sajtom" koji se odnose na optimizaciju i sigurnost sajta;
  • Obavite rad na konfiguraciji web sistema za optimalne performanse.

Ako morate sami instalirati sistem ili prenijeti stranicu na hosting, onda bez kursa Instalacija i konfiguracija Pa Instalacija i konfiguracija namijenjeno stručnjacima koji instaliraju "1C-Bitrix: Upravljanje web mjestom" ili "Bitrix24 u kutiji".

Preuzmite materijale za kurs u CHM formatu.

Kako pohađati kurs obuke?

U ovom članku ćemo pogledati instalaciju i konfiguraciju web servera Apache, PHP 5 I MySQL DBMS da ih koristite na lokalnom računaru pod operativnim sistemom Windows (2000 i XP). Korišćenje lokalnih servera može biti neophodno iz više razloga – potrebno je da naučite PHP ili MySQL, a testiranje vaših Web aplikacija na hostingu je ili skupo ili uopšte nije moguće. U ovom slučaju, trebat će vam Apache+PHP+MySQL na vašem lokalnom računalu.

Prvo morate nabaviti distribucije Apache i MySQL servera, kao i PHP arhivu. Instaliraćemo i konfigurisati Apache 2, MySQL 4 i PHP 5.

Također možete preuzeti php.ini datoteke za konfiguriranje PHP-a i httpd.conf za Apache sa naše web stranice. Međutim, učinite to samo u krajnjoj nuždi - ako vam ništa nije uspjelo s "nativnim" datotekama koje su se pojavile prilikom instaliranja aplikacija. Ali u svakom slučaju, morat će se konfigurirati za određenu mašinu. Preuzmite php.ini i httpd.conf

Apache možete preuzeti sa ogledala na službenoj web stranici http://www.apache.org/dyn/closer.cgi. Kada pretražujete, zapamtite da se Apache može nazvati i httpd, po imenu svog demona u UNIX-u. Ogledala obično imaju mnogo različitih datoteka, na primjer:
httpd-2.0.49-win32-src.zip je arhiva sa izvornim kodovima (src) za Windows (win32) Apache Web servera (httpd) verzije 2.0.49.
httpd-2.0.49.tar.gz - ista stvar, ali za Linux, u kojem se programi obično distribuiraju u izvornom kodu.
apache_2.0.50-win32-x86-no_ssl.exe - a evo i Apache servera (apache) verzije 2.0.50 kompajliranog za arhitekturu (x86) za Windows (win32) bez SSL podrške (no_ssl) - ovo je ono što vam treba.

Komentar

Binarni kodovi Apache distribucija se distribuiraju u nekoliko verzija, i sa *.exe i *.msi ekstenzijama i imaju naziv kao što je httpd_version_win32_*_.msi.

Da ne biste morali da patite, evo izvora gde ga možete nabaviti: http://apache.rinet.ru/dist/httpd/binaries/win32/
Druga i treća znamenka u verziji mogu se razlikovati od ovdje navedenih - trebali biste odabrati najnoviju verziju, jer eliminiše greške pronađene u prethodnim verzijama.

PHP 5 možete preuzeti sa sekcije naše web stranice.

MySQL distribuciju možete preuzeti sa naše web stranice.

Kompletan referentni priručnik na ruskom jeziku možete pronaći na.

Nakon što nabavimo sve potrebne distribucije, možemo započeti instalaciju. Redosled kojim se instaliraju Apache, PHP i MySQL nije bitan. Počnimo sa Apache Web serverom.

Instalacija Apache web servera

Pokrenite instalacijski program Apache Web servera. Rezultat će biti prozor sa licencnim ugovorom, nakon prihvatanja kojeg treba da pređete na sledeći prozor sa kratkim informacijama o inovacijama u drugoj verziji Apache-a. Sljedeći prozor, prikazan na slici, omogućava vam da unesete informacije o serveru: naziv domene servera, ime servera I admin email adresa. Ako se instalacija odvija na lokalnoj mašini, onda u polja za naziv domene i ime servera treba da unesete localhost(vidi sliku.). Na dnu prozora od vas se traži da odaberete broj porta pomoću kojih će server prihvatiti zahtjeve (80 ili 8080).


localhost je ime za korištenje servera na lokalnom stroju, koje je povezano s IP adresom 127.0.0.1, koja je rezervirana za lokalnu upotrebu.

Nakon toga će biti predložen način instalacije: standardni ( Tipično) ili selektivno ( Custom), koji vam omogućava da ručno odaberete komponente servera. Sljedeći prozor vam omogućava da odaberete instalacijski direktorij servera, po defaultu je to C:Program FilesApache Group, ali preporučujemo da odaberete drugi direktorij, na primjer, C:www. Nakon toga, čarobnjak za instalaciju će vas obavijestiti da je spreman za proces instalacije i nakon što kliknete na dugme Instaliraj, fajlovi servera će biti kopirani. Ako je instalacija bila uspješna, Windows će automatski pokrenuti Apache.

Nakon uspješne instalacije, kada upišete http://localhost/ ili http://127.0.0.1/ u prozor pretraživača, stranica servera bi se trebala učitati.

Sada morate naučiti kako upravljati Apacheom, odnosno naučiti kako pokrenuti, zaustaviti i ponovo pokrenuti server. Postoji mnogo načina za izvođenje ovih operacija: korištenje uslužnog programa ApacheMonitor, korištenje konzole za upravljanje Windows uslugama, korištenje stavki Start menija, iz komandne linije... Pogledaćemo konzolu za upravljanje Windows uslugama, koja vam omogućava da konfigurišete Apache da se automatski pokrene kada se sistem pokrene. Da pokrenete upravljačku konzolu, pokrenite naredbu
Start->Postavke->Kontrolna tabla->Administracija->Usluge.
U prozoru konzole koji se pojavi, na slici ispod, izaberite uslugu Apache2. Kontekstni meni, koji se otvara klikom na desno dugme, omogućava vam da pokrenete, zaustavite i ponovo pokrenete uslugu.


Windows usluge vam omogućavaju da pokrenete pozadinske aplikacije kada se sistem pokrene. Da biste to učinili, idite na prozor Svojstva odabirom stavke u kontekstnom izborniku usluge Svojstva i u prozoru koji se pojavljuje na padajućoj listi " Tip pokretanja"odaberi stavku" Auto".

Konfigurisanje Apache-a

Web server je složen softverski proizvod koji radi na različitim platformama i operativnim sistemima širom svijeta. Stoga, da bi ispravno radio na instaliranom sistemu, mora biti konfigurisan.
Podrazumevano, Apache postavke se nalaze u datoteci httpd.conf u conf direktorijumu. U nastavku će biti opisane glavne direktive datoteke httpd.conf i njihova uobičajena značenja.

Putanja datoteka

U Apache i PHP konfiguracijskim datotekama, često ćete morati specificirati putanje do različitih direktorija i mapa. UNIX i Windows operativni sistemi koriste različite separatore direktorija. UNIX koristi kosu crtu naprijed "/", na primjer /usr/bin/perl, dok Windows koristi obrnutu kosu crtu, na primjer c:Apachein. Općenito, u nekim Apache i PHP direktivama funkcioniraju obje vrste separatora direktorija: naprijed (/) i obrnuto (), ali pošto su i Apache i PHP prvobitno razvijeni za UNIX, koristeći njihov „nativni“ format, možete izbjeći brojne problemi. Stoga je preporučljivo pisati putanje u konfiguracijske datoteke (httpd.conf i php.ini) koristeći kosu crtu u UNIX formatu - “/”. na primjer:

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

httpd.conf fajl direktive

Port

Luka 80

Postavlja TCP port koji Apache koristi za uspostavljanje veze. Po defaultu se koristi port 80.

Napomena

Jedini razlog za korištenje nestandardnog porta je ako nemate prava za korištenje standardnog porta. Kada koristite nestandardni port, na primjer, 8080, broj porta treba navesti u adresi, na primjer: http://localhost:8080/.

ServerAdmin

ServerAdmin [email protected]

Sadrži e-mail adresu administratora web servera, koja će biti prikazana u slučaju greške servera.

ServerName

ServerName myserver

Sadrži ime računara za server.

ServerRoot

Korijen servera "C:/Apache2"

Pokazuje na direktorij koji sadrži datoteke Apache WEB servera.

Napomena

Nemojte brkati ServerRoot direktivu sa DocumentRoot direktivom, koja specificira direktorij za datoteke WEB stranice.

DocumentRoot

DocumentRoot "C:/Apache2/htdocs"

Definira direktorij u kojem se nalaze datoteke WEB stranice.

Kontejner

Opseg direktiva unutar ovog kontejnera proteže se na sve datoteke i poddirektorije unutar DocumentRoot-a.


Opcije FollowSymLinks Uključuje indekse
AllowOverride All

  • Direktiva AllowOverride postavljena na Sve omogućava vam da nadjačate vrijednosti glavne konfiguracijske datoteke httpd.conf u .htaccess datotekama.
  • Direktiva Options FollowSymLinks dozvoljava Apacheu da prati simboličke veze.
  • Direktiva Options Includes dozvoljava izvršavanje SSI (Server Side Includes) direktiva u kodu stranica web stranice.
  • Direktiva Options Indexes specificira da sadržaj direktorija treba biti vraćen ako nedostaje indeksna datoteka.

DirectoryIndex

DirectoryIndex index.html index.phtml index.php

Sadrži listu indeksnih datoteka koje bi trebale biti prikazane kada se pristupa direktoriju bez navođenja imena datoteke (na primjer, http://localhost/test/).

AddDefaultCharset

AddDefaultCharset windows-1251

Postavlja zadano kodiranje ako u zaglavlju HTML dokumenta nije postavljeno nikakvo kodiranje. Možda ćete također morati navesti vrijednost kodiranja KOI8-R.

Kreiranje virtuelnih hostova

Možete instalirati nekoliko WEB lokacija na jedan Apache WEB server. Ova funkcija servera se zove virtuelni hosting. U nastavku ćemo pogledati kreiranje virtuelnih čvorova na osnovu imena. Virtuelni hostovi se obično nalaze na kraju datoteke httpd.conf.

Prvo morate odrediti koja IP adresa se koristi za virtuelne hostove.



# Direktiva virtuelnog hosta

httpd.conf fajl. Kontejner


ServerAdmin webmaster@may_domain.ru
DocumentRoot c:/www/mysite
Ime servera www.mysite.ru
ServerAlias ​​www.site.ru www.host2.ru
ErrorLog logs/mysite-error.log
CustomLog logs/mysite-access.log zajednički

Pogledajmo direktive virtuelnog čvora:

  • DocumentRoot označava direktorij u kojem se nalaze datoteke (stranice) ovog virtualnog čvora (WEB stranice)
  • ServerName specificira ime virtuelnog hosta preko kojeg mu se može pristupiti. U ovom slučaju, na http://www.mysite.ru/.
  • ServerAlias ​​sadrži pseudonime virtualnog hosta. U ovom slučaju, virtuelnom hostu možete pristupiti i koristeći imena: http://www.site.ru/ i http://www.host2.ru/.
  • ErrorLog i CustomLog specificiraju imena serverskih dnevnika za ovaj virtuelni host.

Kontejneri se obično postavljaju jedan za drugim na kraj datoteke httpd.conf.

httpd.conf fajl. Postavljanje virtuelnih hostova

ImeVirtualHost 127.0.0.1:80

# Virtuelni host 1 direktive


# Direktive virtuelnog hosta 2


# Direktive virtuelnog hosta 3

Napomena

Apache se mora ponovo pokrenuti da bi promjene napravljene u httpd.conf datoteci stupile na snagu.

Da biste pristupili virtuelnim hostovima po imenu, oni moraju biti registrovani u bazi podataka DNS servera. Ako koristite Apache za testiranje datoteka na lokalnoj mašini, tada bi imena vaših virtuelnih čvorova trebala biti zapisana u datoteci hosts. Za Windows 2000 i XP, nalazi se u direktoriju C:WindowSystem32Driversets. Datoteka hosts sadrži unose kao što su:

Hosts File Entry Format

127.0.0.1 www.mysite.ru
127.0.0.1 www.site.ru
127.0.0.1 www.host2.ru

Instalacija i konfiguracija PHP-a

Da biste instalirali PHP, trebali biste kreirati direktorij c:/php i u njega smjestiti datoteke iz distribucijske zip arhive. Nakon ovoga, trebali biste preimenovati konfiguracijsku datoteku php.ini-dist u php.ini i kopirati je u Windows direktorij.

Instalacija PHP-a kao modula

Instaliranje PHP-a kao modula blago poboljšava performanse jer se PHP modul učitava jednom kada se web server pokrene

Komentar

Prilikom instaliranja PHP-a kao modula, postavke iz php.ini se čitaju jednom kada se web server pokrene. Stoga, kada unosite izmjene u php.ini, morate ponovo pokrenuti Apache da bi promjene stupile na snagu.

Da biste instalirali PHP, otvorite glavnu Apache httpd.conf konfiguracijsku datoteku za uređivanje i uklonite znakove komentara iz sljedećih redova, mijenjajući ih ako je potrebno:

httpd.conf fajl. Povezivanje PHP-a kao Apache modula


LoadModule php5_module c:/php/php5apache2.dll

Napomena

Instalacija PHP-a kao CGI aplikacije

Kada instalirate PHP kao CGI aplikaciju, PHP interpreter će se učitavati svaki put kada se pozove PHP skripta. Zbog toga može doći do određenog pogoršanja performansi. Ako je PHP instaliran kao CGI, onda Apache ne bi trebalo ponovo pokretati kada se unose promjene u php.ini fajl, pošto se postavke čitaju svaki put kada se PHP skripta izvršava. Instaliranje PHP-a kao CGI-ja čini izmjene u PHP konfiguraciji malo bržim, jer ne zahtijeva ponovno pokretanje WEB servera.

Napomena

Kada instalirate PHP kao CGI, neka zaglavlja će prestati da rade, na primer, nećete moći da ovlastite korisnike koristeći PHP. Autorizacije se mogu implementirati samo pomoću samog Apachea koristeći .htaccess datoteke.

Da biste instalirali PHP, otvorite glavnu konfiguracijsku datoteku httpd.conf za uređivanje, pronađite u njoj komentarisane PHP veze i promijenite ih na sljedeći način:

httpd.conf fajl. Povezivanje PHP-a kao CGI

AddType application/x-httpd-php phtml php

OptionsExecCGI

ScriptAlias ​​"/php_dir/" "c:/php/"
Action application/x-httpd-php "/php_dir/php-cgi.exe"

Napomena

Umjesto direktorija c:/php, zamijenite svoj direktorij instaliranim PHP-om.

Konfigurisanje PHP-a (php.ini fajl)

Budući da ćete najvjerovatnije biti zauzeti testiranjem svojih web aplikacija na vašem lokalnom računalu, morate pravilno konfigurirati php.ini konfiguracijski fajl. Pronađite direktivu error_reporting i postavite je na sljedeću vrijednost:

Ova vrijednost će konfigurirati PHP tako da će prilikom pokretanja PHP skripti sve greške biti prikazane, a "komentari" će biti zanemareni. Također morate biti sigurni da je direktiva display_errors omogućena:

Display_errors = Uključeno

Ako je ova direktiva onemogućena (Isključeno), poruke o grešci neće biti prikazane u prozoru pretraživača, a ako dođe do greške u kodu, pitat ćete se ispred čistog bijelog prozora šta bi to značilo.
Također je potrebno osigurati da direktiva varijabli_order ima sljedeće značenje:

Variables_order = "EGPCS"

Slova ovdje znače sljedeće:
E - varijable okruženja
G - varijable koje se prenose metodom GET (G)
P - varijable prenete POST metodom (P)
C - Kolačići
S - sesije
Nedostatak bilo kojeg od slova će vas spriječiti da radite s odgovarajućim varijablama.

Sljedeća direktiva koja može zahtijevati konfiguraciju je register_globals. Ako je ova direktiva omogućena

Register_globals = Uključeno

tada se varijable koje prenose GET, POST, preko kolačića i sesija mogu koristiti u PHP skripti, pristupajući im jednostavno kao običnim $someone varijablama.
Ako je ova direktiva onemogućena

Register_globals = Isključeno

tada se takvim varijablama može pristupiti samo pomoću superglobalnih nizova ($_POST, $_GET, itd.).
Direktiva register_long_arrays omogućava vam korištenje superglobalnih nizova u starom formatu ("dugi" - $HTTP_GET_VARS, $HTTP_POST_VARS, itd.)

Register_long_arrays = Uključeno

Sada trebate konfigurirati datoteku indeksa. Ako upišete red http://localhost/ u prozor pretraživača, a ne http://localhost/index.html. Server će i dalje pružati index.html pretraživaču, pošto je ova datoteka indeksna datoteka i pretražuje se prva u direktoriju ako određena datoteka nije navedena. Sada morate da konfigurišete http.conf tako da Apache Web server odgovara na index.php fajlove na isti način. Da biste to učinili, pronađite direktivu DirectoryIndex u http.conf i ispravite je na sljedeći način:

DirectoryIndex index.html index.html.var index.php

Nakon ovoga, potrebno je ponovo pokrenuti Apache server i kreirati test PHP fajl (index.php) u root direktorijumu virtuelnog hosta ("C:/www/scripts"):

phpinfo();
?>

Ako je podešavanje uspješno, pristup http://localhost/index.php će prikazati ljubičastu tabelu sa trenutnim PHP postavkama, koje vraća funkcija phpinfo().
Dakle, konfigurisali smo kombinaciju Apache-a i PHP-a i možemo da pređemo na podešavanje MySQL-a. Raspakujte MySQL distribuciju u privremeni direktorij i pokrenite instalater. Možete kontrolisati rad MySQL servera na isti način kao i Apache, koristeći konzolu za upravljanje Windows uslugama.

MySQL veza

Detaljan način povezivanja MySQL ekstenzije sa PHP-om opisan je u članku na linku: .

Ako je MySQL server već instaliran na vašoj mašini, sledeći korak je konfigurisanje PHP-a za rad sa MySQL bazama podataka.

Otvorite datoteku php.ini iz Windows direktorija za uređivanje. Da biste povezali MySQL biblioteku ekstenzija, morate ukloniti znak komentara (tačka-zarez) iz reda:

Extension=php_mysql.dll

Također provjerite vrijednost direktive extension_dir

Extension_dir="c:/php-5.0/ext"

Trebalo bi da upućuje na direktorij u kojem su pohranjene PHP ekstenzije. Preporučuje se pisanje separatora direktorija u UNIX formatu (/) - obrnuta kosa crta. Međutim, ako ništa drugo ne uspije, jednostavno vratite vrijednost direktive extension_dir i kopirajte biblioteku php_mysql.dll u korijen C:/php-5.0/ - u većini slučajeva ovo bi trebalo pomoći.

Ako je PHP povezan s vama kao modul, tada također trebate kopirati biblioteku libmysql.dll iz direktorija s instaliranim PHP-om u sistemski direktorij C:/Windows/System32. Da bi promjene stupile na snagu, ponovo pokrenite Apache.

Da biste provjerili da MySQL radi, ponovo pokrenite Apache server i kreirajte test skriptu sa sljedećim kodom:

$dblocation = "127.0.0.1" ;
$dbname = "test" ;
$dbuser = "root" ;
$dbpasswd = "" ;

$dbcnx = @mysql_connect ($dblocation, $dbuser, $dbpasswd);
ako (! $dbcnx )
{
echo "

Nažalost, mySQL server nije dostupan

" ;
exit();
}
ako (!@
mysql_select_db ($dbname, $dbcnx))
{
echo "

Nažalost, baza podataka nije dostupna

"
;
exit();
}
$ver = mysql_query("SELECT VERSION()" );
if(!$ver)
{
echo "

Greška u zahtjevu

"
;
exit();
}
echo
mysql_result($ver, 0);
?>

Ako je MySQL uspešno integrisan u Apache i PHP kombinaciju, pristup test skripti će prikazati verziju MySQL servera u prozoru pretraživača.

U novim verzijama MySQL-a (počevši od 4.1.0), način na koji se rukuje nacionalnim skupovima znakova je promijenjen, tako da stari kod može uzrokovati da se u tabeli baze podataka pojavljuju upitnici. umjesto ruskog teksta. Kako biste spriječili da se to dogodi na početku PHP skripte, nakon uspostavljanja veze sa bazom podataka, trebali biste postaviti sljedeće redove:

mysql_query( "set character_set_client="cp1251"");
mysql_query( "set character_set_results="cp1251"");
mysql_query( "set collation_connection="cp1251_general_ci"");
?>

Instaliranje PHP ekstenzija

Na kraju, možda ćete morati da konfigurišete neke PHP ekstenzije, one su konfigurisane na isti način kao i MySQL.

Dakle, da biste povezali GDLib grafičku biblioteku u php.ini, morate dekomentirati red:

Extension=php_gd2.dll

Nakon toga provjerite prisustvo ove biblioteke u c:phpext folderu. Nakon što izvršite promjene u php.ini, ponovo pokrenite server. Da biste brzo provjerili da li je biblioteka povezana, pokrenite funkciju phpinfo(). Ako je sve u redu, onda u tabeli koju prikazuje funkcija phpinfo() sekcija " gd

Ako koristite zastarjelo ime php.exe korišteno u ranijim verzijama umjesto php-cgi.exe, može se pojaviti i greška:

403 Zabranjeno Nemate dozvolu za pristup /__php_dir__/php.exe/test.php na ovom serveru

HTML datoteke se izvršavaju, ali PHP skripte ne

Ako PHP veza nije konfigurisana, prilikom pristupa datotekama sa php ekstenzijom, na primer: http:/localohost/index.php, otvara se prozor sa zahtevom za preuzimanje takve datoteke. Ovo ukazuje da obrada datoteka sa php ekstenzijom nije konfigurisana. Provjerite postojanje sljedećeg reda u fajlu httpd.conf:

AddType application/x-httpd-php phtml php

Napomena: Nedefinirana varijabla...

Na novom, novoinstaliranom PHP-u, često možete vidjeti poruke poput:

Napomena: Nedefinirana varijabla: msg u C:/Main/addrec.php na liniji 7

Error_reporting = E_ALL & ~E_NOTICE

MySQL se neće povezati

Ponekad postoje problemi pri instalaciji MySQL-a. Trebali biste provjeriti da li se MySQL pokreće kao servis svaki put kada se sistem pokrene. Da biste to učinili, otvorite servisnu konzolu:

Početak | Postavka | Control Panel | Administracija | Usluge

pronađite MySQL tamo - pokrenite ga. Da bi se server pokrenuo svaki put kada se sistem pokrene, kliknite desnim tasterom miša na uslugu i izaberite "Svojstva" - na padajućoj listi "Tip pokretanja" koja se otvori, izaberite "Auto".

Ako se prilikom pokretanja Apachea i pristupa skriptama pojavi poruka koja ukazuje da se biblioteka php_mysql.dll ne može učitati.

Pokretanje PHP-a: Nije moguće učitati dinamičku biblioteku c:/php/ext/php_mysql.dll
- navedeni modul nije pronađen

Zatim ponovo proverite uputstva iz odeljka koji opisuje povezivanje sa PHP bibliotekama za rad sa MySQL. Da li koristite „ispravnu“ verziju datoteke php_mysql.dll (tačno za verziju PHP-a koja je instalirana na sistemu)?
Verzije datoteke php_mysql.dll razlikuju se za različite verzije PHP-a, iako imaju isto ime.

  • Korištenje Windows razdjelnika direktorija (obrnuta kosa crta): c:apache/bin. Za pouzdan rad, trebali biste koristiti UNIX graničnike (kosa crta), na primjer: c:/apache/bin.
  • Postojanje nekoliko konfiguracionih datoteka php.ini na mašini ili nepostojanje takve datoteke. Potrebna datoteka php.ini treba da se nalazi u Windows direktorijumu. Pretražite diskove vašeg računara, pronađite sve nepotrebne verzije datoteka i izbrišite ih.
  • Možete postaviti sva pitanja koja imate o instaliranju kombinacije Apache+PHP+MySQL na našem forumu posvećenom instalaciji i konfiguraciji Apache, PHP i biblioteka ekstenzija.

    Postoji mnogo dobrih aplikacija napisanih u PHP-u. Čak ni ne
    mnogo, a neki od njih su vrlo dobri, pa zašto ne koristiti ove
    aplikacije na Windows-u? Pogotovo ako interni portal radi na Windows-u, i
    na Unix mašini, eksterna veb lokacija kompanije se okreće - tada
    možete uštedjeti na infrastrukturi i hostovati je na Windows-u
    Server takođe ima eksternu lokaciju. Ili, ako postoji želja za standardizacijom
    infrastrukturu i host web stranice na Windows-u
    platformi, budući da programeri i korisnici rade na njoj
    Windows platforma.
    Na web stranici www.iis.net
    može se naći
    lista
    popularne PHP aplikacije
    sa uputama za instalaciju na IIS-u. Da ih vodim
    nisu potrebne promjene na IIS-u
    PHP kod.

    Instaliranje i konfigurisanje PHP-a za upotrebu sa FastCGI modulom.

    Za početak, uspješno koristiti PHP na
    Windows, PHP bi bio dobar
    instalirati.
    Korak 1. Preuzmite PHP
    Na web stranici PHP.net morate preuzeti
    najnovija verzija PHP-a za Windows. Preporučuje se za upotrebu sa FastCGI
    instalirajte PHP verziju bez kontrole sigurnosti niti, od samog modula
    FastCGI osigurava da se izvršavanje odvija u jednoj niti i podržava
    Kontrole sigurnosti niti u samom PHP-u uvode nepotrebne provjere i
    blokade koje dovode do značajnog pada performansi. Zato
    izaberite Win32 binarne datoteke koje nisu bezbedne za niti (verzija 5.2.6 je aktuelna u vreme pisanja
    ova poruka) .
    Vrijedi napomenuti da vjerujemo da je Non-thread-safe razvijen posebno za
    raditi sa FastCGI na IIS-u (prvo izdanje je bilo u verziji 5.2.1) i koristiti u
    Ne preporučuje se u drugim okruženjima. Usput, počevši od verzije 5.2.2 Zend ozbiljno
    radi na optimizaciji PHP performansi za Windows, što ne može pomoći
    ugoditi. Ako uporedimo verzije 5.2.1 i 5.2.2, onda je razlika u brzini obrade
    zahtjevi se mogu lako vidjeti korištenjem jednostavnog testa opterećenja.
    Korak 2. Instalirajte PHP
    Instalacija je vrlo jednostavna: pošto smo preuzeli arhivu sa
    izvršne datoteke, dovoljno je proširiti ovu arhivu, na primjer, u
    direktorij C:\Web\PHP.
    Kao osnovnu konfiguraciju, koristit ćemo preporučene postavke:
    Napravimo kopiju datoteke koju preporučuje php.ini u php.ini u istom direktoriju i otvorimo
    ga za uređivanje, nakon čega ćemo proći kroz datoteku odozgo, dekomentirajući sljedeće
    stringove kako bi se osigurala sigurnost i kompatibilnost sa većinom PHP-a
    aplikacije:
    • open_basedir = direktorij u kojem se nalaze PHP aplikacije.
      Određivanje direktorija će ograničiti prava pristupa samo datotekama PHP aplikacija
      ovaj imenik. Pogodno je zaobići ovu postavku u konfiguracijskim datotekama
      direktno za svaku aplikaciju, ali ne bi škodilo da ovo instalirate
      postavke i odredite korijenski direktorij svih PHP aplikacija. Na primjer, C:\inetpub\PhpSites.
    • cgi.force_redirect = 0
      Podrazumevano je postavljeno na 1, ali mora biti postavljeno na 0 jer IIS
      kontroliše sigurnost izvršavanja PHP-a i u ovoj postavci nema
      neophodno. Štaviše, uključivanje može dovesti do neočekivanog
      rezultate. Kada se koristi sa drugim web serverima na Windows-u, ovo
      postavka mora biti omogućena.
    • cgi.fix_pathinfo = 1
      PHP će postaviti ime datoteke u varijablu SCRIPT_FILENAME if
      postavite vrijednost na 0, tada će ime datoteke biti u varijabli PATH_TRANSLATED, što
      može narušiti kompatibilnost s većinom aplikacija.
    • fastcgi.impersonate = 1;
      FastCGI omogućava da se proces imituje koristeći kontekst klijenta,
      proces pozivanja. Ovaj mehanizam radi samo pod FastCGI/IIS, na primjer
      Ovo neće raditi na Apache-u na Windows-u.
    • short_open_tag = Uključeno
      Većina aplikacija koristi kratke oznake, pa neće biti
      bilo bi suvišno omogućiti njihovu podršku.
    • display_errors = Uključeno
      Kada provjeravate i otklanjate greške u PHP aplikacijama na FastCGI, vrijedi uključiti izlaz
      poruke o greškama.
    Korak 3. Provjera PHP funkcionalnosti
    Dok nismo konfigurisali IIS, provjerite funkcionalnost interpretatora
    možete jednostavno, na primjer, pokrenuti naredbu c:\web\php\php.exe -info > c:\test.txt

    Instalacija i konfiguracija FastCGI modula na IIS7.

    Ako imate IIS7, onda mi nešto govori o imenu vašeg operativnog sistema
    sistemi - Windows Vista? Pogrešno sam pogodio, onda Windows Server 2008! Ili ste haker i
    instalirali smo IIS7 negdje drugdje, ali ovo je nestandardno rješenje i ne radimo
    podrška ;).
    Korak 1. Instalirajte FastCGI
    Želim da vas odmah zadovoljim - u IIS7, koji dolazi sa Windows Server 2008 i Windows Vista
    Servisni paket 1 FastCGI modul je već uključen. Samo ga treba povezati
    postavke. Da biste to uradili na Visti potrebno je da otvorite Control Panel -> Programs i izaberete
    "Uključite ili isključite Windows funkcije":

    Nakon toga, morate instalirati funkciju u IIS: Internet Information Services
    -> World Wide Web Services -> Značajke razvoja aplikacija -> CGI. U isto vreme
    će biti instalirana podrška za CGI i FastCGI.

    Na Windows Serveru 2008 proces je sličan: Server Manager -> Uloge -> Dodaj
    Usluge uloga -> Web server -> Razvoj aplikacija -> CGI.
    Zapravo, sve što je potrebno za omogućavanje FastCGI modula.
    Korak 2: IIS7 konfiguracija
    1. Otvorite IIS Manager, izaberite čvor (server) za koji želite da konfigurišete
    PHP podrška. Zatim odaberite Mapiranja rukovatelja.

    2. Odaberite vezu Dodaj mapiranje modula na stranici Mapiranja rukovatelja i
    popunite prozor sa sljedećim vrijednostima:
    Putanja zahtjeva: *.php (obrada svih datoteka sa ekstenzijom .php)
    Modul: FastCgiModule (FastCGI modul)
    Izvršni: C:\Web\PHP\php-cgi.exe (put do PHP-a)
    Naziv: PHP (ime radi praktičnosti)

    Nakon dodavanja ove postavke, pojavit će se prozor sa upitom o registraciji.
    FastCGI aplikacije za ovaj rukovalac. Potvrđujemo.
    Gore opisani koraci doveli su do kreiranja sljedećeg u direktoriju PhpSites
    web.config fajl:


    < configuration >
    < system.webServer >
    < handlers >
    < add name =«PHP» path ="*.php" verb ="*"
    modules = "FastCgiModule" scriptProcessor ="C:\Web\PHP\php-cgi.exe "
    resourceType = "Nespecificirano" />



    Sada možete preći na provjeru funkcionalnosti PHP-a.
    Korak 3. Provjerite da li su postavke ispravne
    U direktorijumu čvora za koji smo konfigurisali PHP kreiramo datoteku
    index.php:
    phpinfo();
    ?>
    I pristupamo ovoj datoteci putem HTTP zahtjeva. Kao rezultat, ako je sve dobro i
    naša karma nije pokvarena, zahtjev će biti ispravno obrađen:

    Naravno, kada koristite PHP na
    IIS7 može imati zamke sa kojima se morate suočiti
    boriti se za postizanje očekivanog rezultata (divan rad
    PHP aplikacije za Windows).
    Čekići za razbijanje kamenja koji se najčešće sreće su navedeni u nastavku.

    Učestalost ponovnog pokretanja PHP procesa

    Jer kada koristite PHP na
    IIS7 koristeći FastCGI
    modul, sam FastCGI modul preuzima
    upravljanje procesima i resursima, morate biti sigurni da je mehanizam ponovnog pokretanja
    procesi (recikliranje) u PHP-u
    neće ometati FastCGI. Ovo je lako uraditi ako
    konfigurirajte FastCGI tako da se uvijek ponovo pokreće
    procesi pre nego što to radi PHP.
    Postoji postavka u FastCGI postavkama
    instanceMaxRequests, koji nakon obrade određuje koliko zahtjeva,
    proces će biti ponovo pokrenut. U PHP-u postoji sličan parametar
    je specificirano vrijednošću varijable PHP_FCGI_MAX_REQUESTS. Očigledno dati
    sposobnost FastCGI da upravlja procesom je dovoljna
    postaviti instanceMaxRequests<= PHP_FCGI_MAX_REQUEST.
    Ovo se lako može uraditi uređivanjem datoteke
    applicationHost.config (skriva se u direktoriju C:\windows\system32\inetsrv\config\).
    Konfiguracija bi trebala sadržavati sljedeće informacije:

    < fastCgi >
    < application fullPath ="C:\inetpub\php\php-cgi.exe "
    maxInstances = "4" instanceMaxRequests = "10000" >
    < environmentVariables >
    < environmentVariable name =«PHP_FCGI_MAX_REQUESTS» value =«10000» >


    Korištenje više verzija PHP-a

    Budući da se različite verzije PHP-a mogu koristiti u
    aplikacijama koje se nalaze na serveru, bilo bi lijepo dati priliku
    koristite različite verzije za različite stranice.
    U konfiguracijskoj datoteci applicationHost.config
    dovoljno je definisati sekcije za različite verzije PHP-a:
    < fastCgi >
    < application fullPath ="C:\inetpub\php\php-cgi.exe">
    ...

    < application fullPath =«C:\inetpub\php4\php4.exe» >
    ...

    < application fullPath ="C:\inetpub\php41\php41.exe">
    ...


    * Ovaj izvorni kod je označen sa .
    I za svaku lokaciju je konfigurisan modul koji koristi jedan ili drugi
    verziju (možete koristiti sučelje opisano iznad, ili možete
    uredite konfiguraciju u tekstu):
    < handlers >
    < add name =«PHP4» path ="*.php" verb ="*" modules =«FastCgiModule»
    scriptProcessor ="C:\inetpub\php\php41.exe "
    resourceType = "Nespecificirano" />

    * Ovaj izvorni kod je označen sa .

    Korištenje različitih PHP postavki

    Ako želite drugačije konfigurirati PHP za
    različite stranice, onda se opet sve ovo može opisati kroz konfiguracijske postavke u
    applicationHost.config.
    < fastCgi >

    < application fullPath ="C:\inetpub\php\php-cgi.exe "

    arguments = "-d my.website=wordpress" >

    < environmentVariables >

    < environmentVariable name =«PHPRC» value =«C:\inetpub\wordpress» />





    < application fullPath ="C:\inetpub\php\php-cgi.exe "

    arguments = "-d my.website=phpsite" >

    < environmentVariables >

    < environmentVariable name =«PHPRC» value =«C:\inetpub\phpsite» />






    * Ovaj izvorni kod je označen sa .

    Nakon toga, postavke se povezuju s odgovarajućim stranicama u
    web.config:
    < system.webServer >

    < handlers accessPolicy =«Read, Script» >
    < add name =«PHP» path ="*.php" verb ="*" modules =«FastCgiModule»
    scriptProcessor ="C:\inetpub\php\php-cgi.exe|-d my.website=wordpress "

    resourceType ="Unspecified" requireAccess ="Script" />




    * Ovaj izvorni kod je označen sa .

    Prema datoj konfiguraciji, php.ini
    moraju biti smješteni u direktorij svake stranice.
    Prilikom uređivanja postavki, trebali biste striktno osigurati da staze do
    odgovarajuću verziju PHP-a i sa
    applicationHost.config i u web.config tako da
    izbjegavajte neočekivane rezultate ako su putevi pomiješani.
    Na prvi pogled, uređivanje konfiguracije može izgledati komplikovano i
    nezgodan proces, ali kada se naviknete na konfiguraciju u
    XML i metoda distribucije postavki
    Ctrl+C, Ctrl+V, bićete iznenađeni prisustvom drugih
    metode konfiguracije :)

    PHP sigurnosne postavke

    Postoji mnogo različitih postavki u php.ini, od kojih mnoge
    utiču na sigurnost upotrebe PHP-a. Tune
    sve na odgovarajući način, dostojan cilj.
    Postavite allow_url_fopen=Isključeno
    ; koristeći URL-ove za operacije sa datotekama
    Postavite allow_url_include=Isključeno
    register_globals=Isključeno
    ; odjavljivanje globalnih varijabli
    open_basedir=“c:\inetpub\” ;
    ograničenje na direktorij u kojem PHP radi

    Max_execution_time=30 ; ograničenje
    vrijeme izvršenja skripte
    max_input_time=60
    memory_limit=16M ;
    ograničenje veličine korištene memorije
    upload_max_filesize=2M
    post_max_size=8M
    max_input_nesting_levels=64
    display_errors=Isključeno
    ; onemogućite poruke o greškama
    log_errors=Uključeno
    error_log="C:\error.log"
    expose_php=Isključeno
    ; sakriti prisustvo PHP-a

    Zaključak

    PHP na Windows-u nije
    Jednostavno je zanimljivo i zgodno, glavna stvar je da radi. I tim
    IIS radi na izradi PHP-a
    nije radio ništa lošije na Windowsu nego na
    Unix/Linux (naravno, oni se trude da budu bolji).
    Pošto je ovo nova tema za Microsoft, možemo
    napravimo neke greške, možda nešto ne primijetimo ili ne razumijemo, pa tako
    Veoma je važno da dobijete komentare od vas - programera i administratora.
    Napišite u komentarima vaše želje i probleme koje sada vidite
    PHP na Windows-u, i hoćemo
    pokušati riješiti probleme i ostvariti želje.

    Oznake: Dodaj oznake