Installerar PHP. Serveranvändning och säkerhetskopiering av data


Mycket har skrivits i PHP bra appar. Inte ens
mycket och några av dem är väldigt bra, så varför inte använda dessa
applikationer på Windows? Speciellt om den interna portalen körs på Windows, och
på en Unix-maskin snurrar företagets externa webbplats – då
du kan spara på infrastrukturen och vara värd för den på Windows
Servern har även en extern webbplats. Eller, om det finns en önskan att standardisera
infrastruktur och värdwebbplatser på Windows
plattform, eftersom utvecklare och användare arbetar på
Windows-plattform.
På hemsidan www.iis.net
kan hittas
lista
populära PHP-applikationer
med installationsanvisningar på IIS. Att köra dem
inga ändringar krävs på IIS
PHP-kod.

Installera och konfigurera PHP för användning med FastCGI-modulen.

Till att börja med, för att framgångsrikt använda PHP på
Windows, PHP skulle vara trevligt
Installera.
Steg 1. Ladda ner PHP
På PHP.net-webbplatsen måste du ladda ner
senaste versionen av PHP för Windows. Rekommenderas för användning med FastCGI
installera PHP-versionen utan trådsäkerhetskontroll, eftersom själva modulen
FastCGI säkerställer att exekvering sker i en enda tråd och stödjer
Trådsäkerhetskontroller i själva PHP introducerar onödiga kontroller och
blockeringar som leder till en betydande minskning av prestanda. Det är därför
välj icke-trådssäkra Win32-binärfiler (version 5.2.6 är aktuell i skrivande stund
det här meddelandet) .
Det är värt att notera att vi tror att Non-thread-safe utvecklades speciellt för
arbeta med FastCGI på IIS (den första utgåvan var i version 5.2.1) och använd i
Rekommenderas inte i andra miljöer. Förresten, från och med version 5.2.2 Zend på allvar
arbetar med att optimera PHP-prestanda på Windows, vilket inte kan låta bli
att behaga. Om vi ​​jämför version 5.2.1 och 5.2.2, så är skillnaden i bearbetningshastighet
förfrågningar kan enkelt ses med ett enkelt belastningstest.
Steg 2. Installerar PHP
Installationen är mycket enkel: eftersom vi laddade ner arkivet från
körbara filer räcker det att utöka detta arkiv, till exempel i
katalog C:\Web\PHP.
Som grundläggande konfiguration Låt oss använda de rekommenderade inställningarna:
Låt oss göra en kopia av den php.ini-rekommenderade filen i php.ini i samma katalog och öppna
det för redigering, varefter vi kommer att gå igenom filen ovanifrån, utan att kommentera följande
strängar för att säkerställa säkerhet och kompatibilitet med de flesta PHP
applikationer:
  • open_basedir = katalog där PHP-applikationer finns.
    Att ange en katalog kommer att begränsa filåtkomsträttigheterna PHP-applikationer endast
    denna katalog. Det är bekvämt att åsidosätta denna inställning i konfigurationsfiler
    direkt för varje applikation, men det skulle inte skada att installera detta
    inställningar och ange rotkatalogen för alla PHP-program. Till exempel C:\inetpub\PhpSites.
  • cgi.force_redirect = 0
    Standard är satt till 1, men måste sättas till 0 eftersom IIS
    kontrollerar säkerheten PHP-utförande och i den här inställningen finns det ingen
    nödvändig. Dessutom kan inkludering leda till oväntade
    resultat. När det används med andra webbservrar på Windows, detta
    inställningen måste vara aktiverad.
  • cgi.fix_pathinfo = 1
    PHP kommer att ställa in filnamnet i variabeln SCRIPT_FILENAME if
    ställ in värdet till 0, då kommer filnamnet att finnas i variabeln PATH_TRANSLATED, som
    kan bryta kompatibiliteten med de flesta applikationer.
  • fastcgi.impersonate = 1;
    FastCGI tillåter att en process imiteras med hjälp av klientkontexten,
    anropsprocessen. Denna mekanism fungerar endast under FastCGI/IIS, till exempel
    Detta kommer inte att fungera på Apache på Windows.
  • short_open_tag = På
    De flesta applikationer använder korta taggar, så det blir det inte
    det skulle vara överflödigt att möjliggöra deras stöd.
  • display_errors = På
    När du kontrollerar och felsöker PHP-applikationer på FastCGI är det värt att slå på utdata
    felmeddelanden.
Steg 3. Kontrollera PHP-funktionalitet
Även om vi inte har konfigurerat IIS, kontrollera tolkens funktionalitet
du kan helt enkelt, till exempel, köra kommandot c:\web\php\php.exe -info > c:\test.txt

Installera och konfigurera FastCGI-modulen på IIS7.

Om du har IIS7, då säger något mig om namnet på ditt operativsystem
system - Windows Vista? Jag gissade inte då Windows Server 2008! Antingen är du en hackare och
vi installerade IIS7 någon annanstans, men det här är en icke-standardlösning och det gör vi inte
Stöd ;).
Steg 1. Installera FastCGI
Jag vill glädja dig direkt - i IIS7, kommer med Windows Server 2008 och Windows Vista
Service Pack 1 FastCGI-modul ingår redan. Den behöver bara kopplas till
inställningar. För att göra detta på Vista måste du öppna Kontrollpanel-> Program och välj
"Slå av eller på funktioner i Windows":

Efter detta måste du installera funktionen i IIS: Internet Information Services
-> World Wide Webbtjänster -> A-> CGI. Vart i
stöd för både CGI och FastCGI kommer att installeras.

På Windows Server 2008 är processen liknande: Serverhanterare -> Roller -> Lägg till
Rolltjänster -> Webbserver -> Applikationsutveckling -> CGI.
Egentligen allt som krävs för att aktivera FastCGI-modulen.
Steg 2: IIS7-konfiguration
1. Öppna IIS Manager, välj den nod (server) som du vill konfigurera
PHP-stöd. Och välj sedan Handler Mappings.

2. Välj länken Lägg till modulmappning på sidan Handler-mappningar och
fyll fönstret med följande värden:
Sökväg för begäran: *.php (bearbetar alla filer med filtillägget .php)
Modul: FastCgiModule (FastCGI-modul)
Körbar: C:\Web\PHP\php-cgi.exe (sökväg till PHP)
Namn: PHP (namn för bekvämlighet)

När du har lagt till den här inställningen visas ett fönster som frågar dig om registrering.
FastCGI-applikationer för denna hanterare. Vi bekräftar.
De steg som beskrivs ovan ledde till att följande skapades i PhpSites-katalogen
web.config fil:


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



Nu kan du gå vidare till att kontrollera funktionaliteten hos PHP.
Steg 3. Kontrollera att inställningarna är korrekta
I katalogen för den nod som vi konfigurerade PHP för skapar vi en fil
index.php:
phpinfo();
?>
Och vi kommer åt den här filen via HTTP-förfrågan. Som ett resultat, om allt är bra och
vår karma är inte bortskämd, begäran kommer att behandlas korrekt:

Naturligtvis när du använder PHP på
IIS7 kan ha fallgropar som du måste hantera
kämpa för att uppnå det förväntade resultatet (underbart arbete
PHP-applikationer på Windows).
Hammare för att bryta vanliga stenar listas nedan.

Omstartsfrekvens för PHP-processen

För när du använder PHP på
IIS7 med FastCGI
modulen tar själva FastCGI-modulen över
process- och resurshantering måste du se till att omstartsmekanismen
processer (återvinning) i PHP
kommer inte att störa FastCGI. Detta är lätt att göra om
konfigurera FastCGI så att den alltid startar om
processer innan PHP gör det.
Det finns en inställning i FastCGI-inställningarna
instanceMaxRequests, som bestämmer efter bearbetning av hur många förfrågningar,
processen kommer att startas om. Det finns en liknande parameter i PHP
specificeras av värdet på variabeln PHP_FCGI_MAX_REQUESTS. Självklart att ge
FastCGI:s förmåga att styra processen räcker
ställ in instansMaxRequests<= PHP_FCGI_MAX_REQUEST.
Detta kan enkelt göras genom att redigera filen
applicationHost.config (gömmer sig i katalogen C:\windows\system32\inetsrv\config\).
Konfigurationen bör innehålla följande information:

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


Använder flera PHP-versioner

Eftersom olika versioner av PHP kan användas i
applikationer som finns på servern, skulle det vara trevligt att ge möjligheten
använda olika versioner för olika webbplatser.
I konfigurationsfilen applicationHost.config
det räcker med att definiera sektioner för olika versioner av PHP:
< fastCgi >
< application fullPath ="C:\inetpub\php\php-cgi.exe">
...

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

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


* Den här källkoden markerades med .
Och för varje plats konfigureras en modul som använder en eller annan
version (du kan använda gränssnittet som beskrivs ovan, eller så kan du
redigera konfigurationen i texten):
< handlers >
< add name =«PHP4» path ="*.php" verb ="*" modules =«FastCgiModule»
scriptProcessor ="C:\inetpub\php\php41.exe "
resourceType = "Ospecificerat" />

* Den här källkoden markerades med .

Använder olika PHP-inställningar

Om du vill konfigurera PHP annorlunda för
olika webbplatser, då kan allt detta beskrivas genom konfigurationsinställningarna i
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=phsite" >

< environmentVariables >

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






* Den här källkoden markerades med .

Efter detta kopplas inställningarna till motsvarande webbplatser i
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 ="Ospecificerat" requireAccess ="Script" />




* Den här källkoden markerades med .

Enligt den givna konfigurationen, php.ini
måste placeras i katalogen för varje webbplats.
När du redigerar inställningar bör du strikt se till att sökvägarna till
motsvarande PHP-version och med
applicationHost.config och i web.config så att
undvik oväntade resultat om vägarna är blandade.
Vid första anblicken kan det verka komplicerat att redigera konfigurationen
obekväm process, men när du väl vänjer dig vid konfigurationen i
XML och distribution av inställningar med metoden
Ctrl+C, Ctrl+V, du kommer att bli förvånad över närvaron av andra
konfigurationsmetoder :)

PHP Säkerhetsinställningar

Det finns många saker i php.ini olika inställningar, varav många
påverka säkerheten med att använda PHP. Ställa in
allt på ett lämpligt sätt, en värdig sak.
Ställ in allow_url_fopen=Av
; använder URL för filoperationer
Ställ in allow_url_include=Av
register_globals=Av
; avregistrering av globala variabler
open_basedir=“c:\inetpub\” ;
begränsning av katalogen som PHP körs i

Max_execution_time=30 ; begränsning
skriptkörningstid
max_input_time=60
memory_limit=16M ;
gräns för storleken på minnet som används
upload_max_filesize=2M
post_max_size=8M
max_input_nesting_levels=64
display_errors=Av
; inaktivera felmeddelanden
log_errors=På
error_log="C:\error.log"
expose_php=Av
; dölj PHP-närvaro

Slutsats

PHP på Windows är det inte
Det är bara intressant och bekvämt, huvudsaken är att det fungerar. Och laget
IIS arbetar med att göra PHP
fungerade inte sämre på Windows än på
Unix/Linux (naturligtvis försöker de göra det bättre).
För att detta nytt ämne för Microsoft, då kan vi
gör några misstag, vi kanske inte märker eller förstår något, så vi
Det är väldigt viktigt att få kommentarer från er – utvecklare och administratörer.
Skriv i kommentarerna dina önskemål och problem som du ser nu i
PHP på Windows, och vi kommer att göra det
försöka lösa problem och förverkliga önskemål.

Taggar: Lägg till taggar

I den här artikeln kommer vi att titta på hur vi installerar och konfigurerar en webbserver Apache, PHP 5 Och MySQL DBMS att använda dem på lokal maskin under operativ system Windows (2000 och XP). Att använda lokala servrar kan vara nödvändigt av många anledningar - du behöver lära dig PHP eller MySQL, och att testa dina webbapplikationer på värd är antingen dyrt eller inte alls möjligt. I det här fallet behöver du Apache+PHP+MySQL på din lokala dator.

Först måste du skaffa distributioner av Apache- och MySQL-servrar, samt ett PHP-arkiv. Vi kommer att installera och konfigurera Apache 2, MySQL 4 och PHP 5.

Du kan också ladda ner php.ini-filer för att konfigurera PHP och httpd.conf för Apache från vår webbplats. Men gör detta bara som en sista utväg - om inget fungerade för dig med de "infödda" filerna som dök upp när du installerade applikationer. Men i alla fall måste de konfigureras för en specifik maskin. Ladda ner php.ini och httpd.conf

Du kan ladda ner Apache från speglarna som finns på den officiella webbplatsen http://www.apache.org/dyn/closer.cgi. När du söker, kom ihåg att Apache också kan kallas httpd, efter namnet på dess demon i UNIX. Speglar har vanligtvis många olika filer, till exempel:
httpd-2.0.49-win32-src.zip är ett arkiv med källkoder(src) för Windows (win32) Apache webbserver (httpd) version 2.0.49.
httpd-2.0.49.tar.gz är samma, men för Linux, där program vanligtvis distribueras i källkod.
apache_2.0.50-win32-x86-no_ssl.exe - och här är Apache-serverns (apache) version 2.0.50 kompilerad för arkitekturen (x86) för Windows (win32) utan SSL-stöd (no_ssl) - det här är vad du behöver.

Kommentar

Binära koder för Apache-distributioner distribueras i flera versioner, både med *.exe och *.msi tillägg och har ett namn som httpd_version_win32_*_.msi.

För att du inte ska behöva lida, här är en resurs där du kan få det: http://apache.rinet.ru/dist/httpd/binaries/win32/
Den andra och tredje siffran i versionen kan skilja sig från de som anges här - du bör välja den senaste versionen, eftersom den eliminerar fel som hittats i tidigare versioner.

PHP 5 kan laddas ner från avsnittet på vår webbplats.

MySQL-distributionen kan laddas ner från vår hemsida.

En fullständig referensmanual på ryska finns på.

När vi har fyllt på med alla nödvändiga distributioner kan vi påbörja installationen. Ordningen i vilken Apache, PHP och MySQL installeras spelar ingen roll. Låt oss börja med Apache-webbservern.

Installera Apache Web Server

Kör installationsprogrammet för Apache Web Server. Resultatet blir ett fönster med licensavtal, efter att ha accepterat vilket, ska du gå till nästa fönster med kort information om innovationer i den andra versionen av Apache. Följande fönster, som visas i figuren, låter dig ange information om servern: Domän namn servrar, server namn Och adress E-post administratör. Om installationen sker på en lokal maskin ska du ange i fälten för domännamn och servernamn lokal värd(se bild.). Längst ned i fönstret uppmanas du att välja portnummer genom vilken servern accepterar förfrågningar (80 eller 8080).


lokal värdär namnet för att använda servern på den lokala maskinen, som är associerad med IP-adressen 127.0.0.1, som är reserverad för lokal användning.

Efter detta kommer installationsmetoden att föreslås: standard ( Typisk) eller selektiv ( Beställnings), som låter dig välja serverkomponenter manuellt. Nästa fönster låter dig välja serverinstallationskatalogen, som standard är det C:Program FilesApache Group, men vi rekommenderar att du väljer en annan katalog, till exempel C:www. Efter detta kommer installationsguiden att informera dig om att den är redo för installationsprocessen och efter att du har klickat på knappen Installera, kommer serverfilerna att kopieras. Om installationen lyckades kommer Windows automatiskt att starta Apache.

Efter lyckad installation, när du skriver http://localhost/ eller http://127.0.0.1/ i webbläsarfönstret, bör serversidan laddas.

Nu behöver du lära dig hur du hanterar Apache, nämligen lära dig hur du startar, stoppar och startar om servern. Det finns många sätt att utföra dessa operationer: med hjälp av ApacheMonitor-verktyget, med hjälp av hanteringskonsolen Windows-tjänster med hjälp av menyalternativen Start från kommandorad... Vi kommer att titta på Windows Services Management Console, som låter dig konfigurera Apache för automatisk start när systemet startar. Kör kommandot för att starta hanteringskonsolen
Start->Inställningar->Kontrollpanelen->Administration->Tjänster.
I konsolfönstret som visas, i figuren nedan, välj tjänsten Apache2. Kontextmenyn, som öppnas genom att klicka på höger knapp, låter dig starta, stoppa och starta om tjänsten.


Windows-tjänster låter dig starta bakgrundsapplikationer när systemet startar. För att göra detta, gå till fönstret Egenskaper genom att välja objektet i tjänstens snabbmeny Egenskaper och i fönstret som visas i rullgardinsmenyn " Starttyp"Välj föremål" Bil".

Konfigurera Apache

Webbserver är en komplex mjukvaruprodukt som körs på olika plattformar och på olika operativsystem runt om i världen. Därför för korrekt funktioninstallerat system den måste konfigureras.
Som standard finns Apache-inställningarna i filen httpd.conf i conf-katalogen. Följande kommer att beskriva huvuddirektiven för httpd.conf-filen och deras vanliga betydelser.

Filsökvägar

I Apache- och PHP-konfigurationsfiler måste du ofta ange sökvägar till olika kataloger och mappar. I operationssalar UNIX-system och Windows använder olika katalogavgränsare. UNIX använder ett snedstreck "/", till exempel /usr/bin/perl, medan Windows använder ett snedstreck, till exempel c:Apachein. I allmänhet, i vissa Apache-direktiv och PHP, båda typerna av katalogseparatorer fungerar: framåt (/) och bakåt (), men eftersom både Apache och PHP ursprungligen utvecklades för UNIX, med deras "native" format, kan du undvika ett antal problem. Därför rekommenderas det att skriva sökvägar i konfigurationsfiler (httpd.conf och php.ini) med ett snedstreck i UNIX-formatet - "/". Till exempel:

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

httpd.conf fildirektiv

Hamn

Port 80

Installerar TCP-port, som används av Apache för att upprätta en anslutning. Som standard används port 80.

Notera

Den enda anledningen att använda standardport- detta är bristen på rättigheter att använda en standardport. När du använder en icke-standardport, till exempel 8080, bör portnumret anges i adressen, till exempel: http://localhost:8080/.

ServerAdmin

ServerAdmin [e-postskyddad]

Innehåller e-postadressen till webbserveradministratören, som kommer att visas vid serverfel.

Server namn

Servernamn min server

Innehåller datornamnet för servern.

Serverrot

Serverrot "C:/Apache2"

Pekar på katalogen som innehåller Apache WEB-serverfiler.

Notera

Blanda inte ihop ServerRoot-direktivet med DocumentRoot-direktivet, som anger katalogen för WEB-webbplatsfilerna.

DocumentRoot

DocumentRoot "C:/Apache2/htdocs"

Definierar katalogen där WEB-platsfilerna finns.

Behållare

Omfattningen av direktiven inom denna behållare sträcker sig till alla filer och underkataloger inom DocumentRoot.


Alternativ FollowSymLinks Inkluderar index
Tillåt Åsidosätt alla

  • AllowOverride-direktivet satt till All låter dig åsidosätta värdena för huvudkonfigurationsfilen httpd.conf i .htaccess-filer.
  • Options FollowSymLinks-direktivet tillåter Apache att följa symboliska länkar.
  • Direktivet Options Includes tillåter exekvering SSI-direktiv (Serversidan Inkluderar) i koden för webbplatssidorna.
  • Options Indexes-direktivet anger att innehållet i en katalog ska returneras om en indexfil saknas.

DirectoryIndex

DirectoryIndex index.html index.phtml index.php

Innehåller en lista över indexfiler som ska visas när du kommer åt en katalog utan att ange ett filnamn (till exempel http://localhost/test/).

AddDefaultCharset

AddDefaultCharset windows-1251

Ställer in standardkodningen om ingen kodning är inställd i HTML-dokumentets huvud. Du kan också behöva ange KOI8-R-kodningsvärdet.

Skapa virtuella värdar

Du kan installera flera webbsidor på en Apache WEB-server. Denna serverfunktion kallas virtuell värd. Nedan kommer vi att titta på att skapa virtuella noder baserade på namn. Virtuella värdar finns vanligtvis i slutet av httpd.conf-filen.

Först måste du ange vilken IP-adress som används för virtuella värdar.



# Virtuella värddirektiv

httpd.conf-fil. Behållare


ServerAdmin webmaster@may_domain.ru
DocumentRoot c:/www/mysite
Servernamn www.mysite.ru
ServerAlias ​​​​www.site.ru www.host2.ru
ErrorLog logs/mysite-error.log
CustomLog logs/mysite-access.log vanligt

Låt oss titta på de virtuella noddirektiven:

  • DocumentRoot indikerar katalogen där filerna (sidorna) för denna virtuella nod (WEB-plats) finns
  • ServerName anger namnet på den virtuella värd som den kan nås med. I I detta fall, på http://www.mysite.ru/.
  • ServerAlias ​​innehåller virtuella värdnamnalias. I det här fallet kan du också komma åt den virtuella värden med hjälp av namnen: http://www.site.ru/ och http://www.host2.ru/.
  • ErrorLog och CustomLog anger serverloggnamnen för denna virtuella värd.

Behållare placeras vanligtvis efter varandra i slutet av httpd.conf-filen.

httpd.conf-fil. Konfigurera virtuella värdar

NameVirtualHost 127.0.0.1:80

# Direktiv för virtuell värd 1


# Virtuella värddirektiv 2


# Virtuella värddirektiv 3

Notera

Apache måste startas om för att ändringar som görs i httpd.conf-filen ska träda i kraft.

För att komma åt virtuella värdar med namn måste de vara registrerade i DNS-serverdatabasen. Om du använder Apache för att testa filer på en lokal maskin, bör namnen på dina virtuella noder skrivas i värdfilen. För Windows 2000 och XP finns den i katalogen C:WindowSystem32Driversets. Hosts-filen innehåller poster som:

Hosts filinmatningsformat

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

Installera och konfigurera PHP

För att installera PHP bör du skapa en katalog c:/php och placera filerna från distributionens zip-arkiv i den. Efter detta bör du byta namn på konfigurationsfilen php.ini-dist till php.ini och kopiera den till Windows-katalogen.

Installera PHP som en modul

Att installera PHP som en modul förbättrar prestandan något eftersom PHP-modulen laddas en gång när webbservern startar

Kommentar

Vid installation av PHP som modul läses inställningarna från php.ini en gång när webbservern startar. När du gör ändringar i php.ini måste du därför starta om Apache för att ändringarna ska träda i kraft.

För att installera PHP, öppna huvudkonfigurationsfilen Apache-fil httpd.conf för att redigera och ta bort kommentarstecken från följande rader, ändra dem vid behov:

httpd.conf-fil. Ansluter PHP som en Apache-modul


LoadModule php5_module c:/php/php5apache2.dll

Notera

Installera PHP som en CGI-applikation

När du installerar PHP som en CGI-applikation PHP-tolk kommer att laddas varje gång PHP-skriptet anropas. På grund av detta kan det bli en viss försämring av prestandan. Om PHP är installerat som CGI, bör Apache inte startas om när du gör ändringar i filen php.ini, eftersom inställningarna läses varje gång PHP-skriptet körs. Att installera PHP som CGI gör ändringar i PHP-konfigurationen lite snabbare, eftersom det inte kräver omstart av WEB-servern.

Notera

När du installerar PHP som CGI kommer vissa headers att sluta fungera, till exempel kommer du inte att kunna auktorisera användare använder PHP. Auktoriseringar kan endast implementeras med Apache själv med hjälp av .htaccess-filer.

För att installera PHP, öppna huvudkonfigurationsfilen httpd.conf för redigering, hitta de kommenterade PHP-anslutningslinjerna i den och ändra dem enligt följande:

httpd.conf-fil. Ansluter PHP som CGI

AddType application/x-httpd-php phtml php

OptionsExecCGI

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

Notera

Istället för c:/php-katalogen, ersätt din katalog med PHP installerat.

Konfigurera PHP (php.ini-fil)

Eftersom du sannolikt kommer att vara upptagen med att testa dina webbapplikationer på din lokala dator, måste du konfigurera php.ini-konfigurationsfilen korrekt. Hitta felrapporteringsdirektivet och ställ in det på följande värde:

Detta värde kommer att konfigurera PHP så att när du kör PHP-skript, kommer alla fel att visas och "kommentarer" kommer att ignoreras. Du måste också se till att direktivet display_errors är aktiverat:

Display_errors = På

Om detta direktiv är inaktiverat (Av) kommer felmeddelanden inte att visas i webbläsarfönstret och om ett fel uppstår i koden kommer du att undra framför ett orörd vitt fönster vad det skulle betyda.
Det är också nödvändigt att se till att variables_order-direktivet har följande betydelse:

Variables_order = "EGPCS"

Bokstäverna här betyder följande:
E - miljövariabler
G - variabler som överförs via GET-metoden(G)
P - variabler överförda via POST-metoden (P)
C - Cookies
S - sessioner
Om du saknar någon av bokstäverna hindrar du dig från att arbeta med motsvarande variabler.

Nästa direktiv som kan kräva konfiguration är register_globals. Om detta direktiv är aktiverat

Register_globals = På

sedan kan variablerna som sänds av GET, POST, cookies och sessioner användas i ett PHP-skript och få tillgång till dem helt enkelt som vanliga $someone-variabler.
Om detta direktiv är inaktiverat

Register_globals = Av

då kan sådana variabler endast nås med superglobala arrayer ($_POST, $_GET, etc.).
Direktiv register_long_arrays låter dig använda superglobala arrayer i det gamla formatet ("lång" - $HTTP_GET_VARS, $HTTP_POST_VARS, etc.)

Register_long_arrays = På

Nu måste du konfigurera indexfilen. Om du skriver raden http://localhost/ i webbläsarfönstret och inte http://localhost/index.html. Servern kommer fortfarande att tillhandahålla index.html till webbläsaren, eftersom denna fil är indexfilen och söks först i katalogen om en specifik fil inte anges. Nu måste du konfigurera http.conf så att Apache-webbservern svarar på index.php-filer på samma sätt. För att göra detta, hitta DirectoryIndex-direktivet i http.conf och korrigera det enligt följande:

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

Efter detta måste du starta om Apache-servern och skapa ett test i rotkatalogen för den virtuella värden ("C:/www/scripts") PHP-fil(index.php):

phpinfo();
?>

Om installationen lyckas, kommer åtkomst till http://localhost/index.php att visa en lila tabell med de aktuella PHP-inställningarna, som returneras av phpinfo()-funktionen.
Således har vi konfigurerat en kombination av Apache och PHP och vi kan gå vidare till MySQL-inställning. Packa upp MySQL-distributionen i en tillfällig katalog och kör installationsprogrammet. Du kan styra driften av MySQL-servern på samma sätt som Apache, med hjälp av Windows Services Management Console.

MySQL-anslutning

En detaljerad metod för att ansluta MySQL-tillägget till PHP beskrivs i artikeln på länken: .

Om MySQL-servern redan är installerad på din maskin är nästa steg PHP-inställning för att arbeta med MySQL-databaser.

Öppna filen php.ini för redigering från Windows-katalog. För att ansluta MySQL-tilläggsbiblioteket måste du ta bort kommentartecknet (semikolon) från raden:

Extension=php_mysql.dll

Kontrollera också värdet på extension_dir-direktivet

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

Den ska peka på katalogen där PHP-tilläggen lagras. Det rekommenderas att skriva katalogavgränsare i UNIX-format (/) - omvänt snedstreck. Men om allt annat misslyckas, återställ helt enkelt värdet på extension_dir-direktivet och kopiera php_mysql.dll-biblioteket till roten av C:/php-5.0/ - i de flesta fall borde detta hjälpa.

Om PHP är anslutet till dig som en modul, måste du också kopiera biblioteket libmysql.dll från katalogen med PHP installerat i systemkatalog C:/Windows/System32. För att ändringarna ska träda i kraft, starta om Apache.

För kontroll MySQL-arbete starta om Apache-servern och skapa ett testskript med följande kod:

$dblockation = "127.0.0.1" ;
$dbname = "test" ;
$dbuser = "rot" ;
$dbpasswd = "" ;

$dbcnx = @mysql_connect ($dblocation, $dbuser, $dbpasswd);
om (! $dbcnx )
{
eko "

Tyvärr är mySQL-servern inte tillgänglig

" ;
utgång();
}
om (!@
mysql_select_db ($dbname, $dbcnx))
{
eko "

Tyvärr är databasen inte tillgänglig

"
;
utgång();
}
$ver = mysql_query("VÄLJ VERSION()" );
om(!$ver)
{
eko "

Fel i begäran

"
;
utgång();
}
eko
mysql_result($ver, 0);
?>

Om MySQL framgångsrikt integreras i kombinationen Apache och PHP, kommer åtkomst till testskriptet att visa MySQL-serverversionen i webbläsarfönstret.

I ny MySQL-versioner(med början från 4.1.0) har proceduren för att arbeta med nationella kodningar ändrats, så gammal kod kan göra att frågetecken "?????????" visas i en databastabell. istället för rysk text. För att förhindra att detta händer i början av PHP-skriptet, efter att ha upprättat en anslutning till databasen, bör du placera följande rader:

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

Installera PHP-tillägg

Slutligen kan du behöva konfigurera vissa PHP-tillägg, de är konfigurerade på samma sätt som MySQL.

Så för att ansluta GDLib-grafikbiblioteket i php.ini måste du avkommentera raden:

Extension=php_gd2.dll

Efter detta, kontrollera närvaron av detta bibliotek i mappen c:phpext. Efter att ha gjort ändringar i php.ini, starta om servern. Kör funktionen phpinfo() för att snabbt kontrollera om biblioteket är anslutet. Om allt är i sin ordning bör avsnittet " visas i tabellen som visas av phpinfo()-funktionerna gd

Om du använder det föråldrade php.exe-namnet som används i tidigare versioner istället för php-cgi.exe, kan felet också dyka upp:

403 Forbidden Du har inte behörighet att komma åt /__php_dir__/php.exe/test.php på den här servern

HTML-filer körs, men PHP-skript gör det inte

Om PHP-anslutningen inte är konfigurerad, vid åtkomst till filer med php-tillägget, till exempel: http://localohost/index.php, öppnas ett fönster med en begäran om att ladda ner en sådan fil. Detta indikerar att bearbetning av filer med php-tillägget inte är konfigurerat. Kontrollera filen httpd.conf för att se om det finns följande rad:

AddType application/x-httpd-php phtml php

Observera: Odefinierad variabel...

På en ny, nyinstallerad PHP kan du ofta se meddelanden som:

Observera: Odefinierad variabel: msg i C:/Main/addrec.php på rad 7

Error_reporting = E_ALL & ~E_NOTICE

MySQL kommer inte att ansluta

Ibland finns det problem med att installera MySQL. Du bör kontrollera om MySQL startar som en tjänst varje gång systemet startar. För att göra detta, öppna tjänstekonsolen:

Starta | Inställning | Kontrollpanelen | Administration | Tjänster

hitta MySQL där - kör det. För att starta servern varje gång systemet startar, klicka höger knapp musen på tjänsten och välj "Egenskaper" - i rullgardinsmenyn "Starttyp" som öppnas, välj "Auto".

Om ett meddelande visas som indikerar att php_mysql.dll-biblioteket inte kan laddas när du startar Apache och använder skript.

PHP-start: Det går inte att ladda det dynamiska biblioteket c:/php/ext/php_mysql.dll
- hittades inte specificerad modul

Se sedan igen instruktionerna i avsnittet som beskriver anslutning till PHP-bibliotek för att arbeta med MySQL. Använder du den "rätta" versionen av filen php_mysql.dll (exakt för den version av PHP som är installerad på systemet)?
Versioner av filen php_mysql.dll skiljer sig för olika versioner av PHP, även om de har samma namn.

  • Använda Windows-katalogavgränsare (omvänt snedstreck): c:apache/bin. För tillförlitlig drift bör du använda UNIX-avgränsare (snedstreck), till exempel: c:/apache/bin.
  • Förekomsten av flera php.ini-konfigurationsfiler på maskinen, eller frånvaron av en sådan fil. Obligatorisk fil php.ini bör finnas i Windows-katalogen. Sök igenom datorns enheter, hitta allt extra versioner filer och radera dem.
  • Du kan ställa alla frågor du kan ha om att installera Apache+PHP+MySQL-kombinationen på vårt forum dedikerat till att installera och konfigurera Apache-, PHP- och tilläggsbibliotek.

    Vi fortsätter att bygga en lokal WAMP-server på en lokal maskin ( personlig dator). I den här artikeln installerar vi PHP-tolken, även känd som [P] i WAMP-förkortningen.

    I tidigare artiklar talade jag om hur man installerar en webbserver HTTP Apache. Lokal server vi samlar under Windows kontroll 7. Det är dags att installera PHP.

    Vi kommer att installera PHP i php-mappen skapad på systemdisk: C:\Program Files\PHP.

    Var får man tag i PHP

    Senaste versionen php tar vi bara från den officiella webbplatsen, här är länken: http://php.net/downloads.php. en annan: http://windows.php.net/download#php-7.0. Vi kommer inte att ta den senaste versionen av php7.0; vi tar den inte så "revolutionära" PHP 5.6 (5.6.20). Jag tar en montering för 32-bitars arkitekturen i Windows 7 med ett inbyggt Windows-installationsprogram.

    Installera PHP med installationsprogram (MSI)

    Senaste PHP med installationsprogram och viktigast av allt med Apache 2.2-modulen. detta är php-5.3.10-nts-Win32-VC9-x86.msi. Låt oss ta det här: http://windows.php.net/downloads/releases/archives/ vi lägger den där.

    Obs: Vi väljer med Apache 2.2-modulen, eftersom vi bygger WAMP på Apache 2.2, som vi redan installerat i artikeln: här.

    Att installera PHP med installationsprogrammet (MSI) är enkelt, i flera fönster:

    1. Kör den nedladdade filen php-5.3.10-nts-Win32-VC9-x86.msi. Det första installationsfönstret för php-5.3.10 2. Vi bekantar oss med licensen och, efter att ha kommit överens om den, går vi vidare genom att klicka på knappen "Nästa".

    3. På den här sidan anger vi i vilken mapp vi installerar PHP. Låt detta vara en katalog:

    4. På nästa sida väljer du den webbserver som ska användas. I vårt bygge är detta Apache2.

    5. På den här sidan måste du välja de PHP-moduler som vi behöver. För att vara på den säkra sidan väljer vi allt.

    6. Klicka på "Installera"
    Klicka på Installera för att installera php-5.3.10
    Vi ser processen för installationsfönstret för php-5.3.10

    Allt! Installerar PHP på lokal dator avslutad.

    Och idag ska vi prata om PHP installation. Precis som med Apache är det inget komplicerat här. Om det är första gången du lånar installera och konfigurera PHP på din lokala dator, så kommer du att ha hjälp att läsa den här guiden med bilder. Om du redan är en erfaren bison i dessa frågor, kan du säkert hoppa över denna anteckning.

    Så om du läser det här inlägget så installerar du antingen PHP för första gången, eller så har du frågor/problem under processen att installera eller konfigurera PHP. Jag ska försöka beskriva denna process så detaljerat som möjligt.

    Först behöver vi en distribution med det senaste PHP-version. Den kan laddas ner från den officiella webbplatsen – www.php.net (9,5 Mb).

    Ladda ner distributionspaketet till din dator och välj en spegel som är geografiskt närmast dig

    Extrahera innehållet i arkivet till en mapp C:/php5. Återigen, om det här är första gången du installerar Apache-paketet -PHP- MySQL Jag rekommenderar att du installerar enligt de vägar jag angav.

    Så, in C:/php5 du bör ha följande:

    PHP-installationen är klar, låt oss nu konfigurera den.

    Byt namn på filen php.ini-rekommenderas V php.ini:

    • välj en fil
    • tryck på F2
    • ta bort -rekommenderas
    • tryck enter.

    Låt oss nu öppna filen i Anteckningar och komma igång PHP-inställningar. Filen innehåller ett ganska stort antal PHP-inställningar, men vi behöver dem inte nu. Vi kommer bara att göra den grundläggande installationen som gör att vi kan köra PHP på vår lokala maskin.

    Lite om beskrivningsformatet i inställningsfilen

    Symbolen ';' betyder att raderna kommenteras bort (de kommer inte att beaktas). Till exempel:

    ; ignore_user_abort = På

    Som du kanske har märkt är inställningarna indelade i grupper för att underlätta sökningen i filen. Till exempel, inställningar för hantering av resursbegränsningar:

    ;;;;;;;;;;;;;;;;;;;;;;
    ; Resursgränser ;
    ;;;;;;;;;;;;;;;;;;;;;;

    max_execution_time = 30 ; Maximal körningstid för varje skript, i sekunder.
    max_input_time = 60 ; Maximal tid varje skript kan ägna åt att analysera begäran om data
    ;max_input_nesting_level = 64 ; Maximal ingångsvariabel kapslingsnivå
    minnesgräns = 128M ; Maximal mängd minne ett skript kan förbruka (128MB) ( Maxbelopp minne som tilldelats för skriptet).

    Format för att beskriva parametrar och deras värden:

    variabelnamn = dess_värde

    Konfigurera PHP-moduler.

    Hitta ett avsnitt Dynamiska tillägg(dynamiska tillägg). Det finns en ganska stor lista med moduler för PHP:

    ;extension=php_bz2.dll
    ;extension=php_curl.dll
    ;extension=php_dba.dll
    ;extension=php_dbase.dll
    ;extension=php_exif.dll
    ;extension=php_fdf.dll
    ;tillägg=php_gd2.dll
    ;extension=php_gettext.dll
    ;extension=php_gmp.dll
    ;extension=php_ifx.dll
    ;extension=php_imap.dll
    ;extension=php_interbase.dll
    ;extension=php_ldap.dll
    ;extension=php_mbstring.dll
    ;extension=php_mcrypt.dll
    ;extension=php_mhash.dll

    ;extension=php_ming.dll
    ;extension=php_msql.dll
    ;extension=php_mssql.dll
    ;extension=php_mysql.dll
    ;extension=php_mysqli.dll
    ;extension=php_oci8.dll
    ;extension=php_openssl.dll
    ;extension=php_pdo.dll

    ;extension=php_pdo_mssql.dll
    ;extension=php_pdo_mysql.dll
    ;extension=php_pdo_oci.dll
    ;extension=php_pdo_oci8.dll
    ;extension=php_pdo_odbc.dll
    ;extension=php_pdo_pgsql.dll

    ;extension=php_pgsql.dll
    ;extension=php_pspell.dll
    ;extension=php_shmop.dll
    ;extension=php_snmp.dll
    ;extension=php_soap.dll
    ;extension=php_sockets.dll
    ;extension=php_sqlite.dll
    ;extension=php_sybase_ct.dll
    ;extension=php_tidy.dll
    ;extension=php_xmlrpc.dll
    ;extension=php_xsl.dll

    När varje modul är ansluten tar den upp en viss mängd driftsminne. För arbete kommer vi bara att ansluta de moduler som vi definitivt behöver, och resten kan anslutas efter behov.

    För att ansluta modulen måste du ta bort ";"-symbolen före raden. Därför kommer vi att avkommentera raden och modulen kommer att användas.

    Låt oss ansluta PHP-tillägg för att arbeta med grafik - php_gd2.dll(vi kommer att behöva det i framtiden).

    För att PHP ska hitta var tilläggen finns anger vi sökvägen till dem. Lägg till nästa rad före eller efter anslutning av förlängningar. Som ett resultat bör du få följande:

    ;;;;;;;;;;;;;;;;;;;;;;
    ; Dynamiska tillägg;
    ;;;;;;;;;;;;;;;;;;;;;;
    ;
    ; Om du vill ha en förlängning laddad automatiskt, använd följande
    ; syntax:
    ;
    ; extension=modulnamn.tillägg
    ;
    ; Till exempel på Windows:
    ;
    ; extension=msql.dll
    ;
    ; ...eller under UNIX:
    ;
    ; extension=msql.so
    ;
    ; Observera att det endast ska vara namnet på modulen; ingen kataloginformation
    ; måste gå hit. Ange platsen för tillägget med
    ; extension_dir-direktivet ovan.

    ; Windows-tillägg
    ; Observera att ODBC-stöd är inbyggt, så ingen dll behövs för det.
    ; Observera att många DLL-filer finns i tilläggen/ (PHP 4) ext/ (PHP 5)
    ; förlängningsmappar samt den separata PECL DLL-nedladdningen (PHP 5).
    ; Se till att ställa in extension_dir-direktivet på rätt sätt.

    extension_dir="C:/php5/ext"

    ;extension=php_bz2.dll
    ;extension=php_curl.dll
    ;extension=php_dba.dll
    ;extension=php_dbase.dll
    ;extension=php_exif.dll
    ;extension=php_fdf.dll
    extension=php_gd2.dll
    ;extension=php_gettext.dll
    ;extension=php_gmp.dll
    ;extension=php_ifx.dll
    ;extension=php_imap.dll
    ;extension=php_interbase.dll
    ;extension=php_ldap.dll
    ;extension=php_mbstring.dll
    ;extension=php_mcrypt.dll
    ;extension=php_mhash.dll
    ;extension=php_mime_magic.dll
    ;extension=php_ming.dll
    ;extension=php_msql.dll
    ;extension=php_mssql.dll
    ;extension=php_mysql.dll
    ;extension=php_mysqli.dll
    ;extension=php_oci8.dll
    ;extension=php_openssl.dll
    ;extension=php_pdo.dll
    ;extension=php_pdo_firebird.dll
    ;extension=php_pdo_mssql.dll
    ;extension=php_pdo_mysql.dll
    ;extension=php_pdo_oci.dll
    ;extension=php_pdo_oci8.dll
    ;extension=php_pdo_odbc.dll
    ;extension=php_pdo_pgsql.dll
    ;extension=php_pdo_sqlite.dll
    ;extension=php_pgsql.dll
    ;extension=php_pspell.dll
    ;extension=php_shmop.dll
    ;extension=php_snmp.dll
    ;extension=php_soap.dll
    ;extension=php_sockets.dll
    ;extension=php_sqlite.dll
    ;extension=php_sybase_ct.dll
    ;extension=php_tidy.dll
    ;extension=php_xmlrpc.dll
    ;extension=php_xsl.dll
    ;extension=php_zip.dll

    Vi sparar de ändringar vi har gjort. För att inställningarna vi gjort ska träda i kraft måste du starta om Apache.

    Installera och konfigurera PHP avslutad!

    Som du kan se, inget komplicerat. Om du under ditt arbete behöver andra förlängningar, avkommentera helt enkelt raden med den förlängning du behöver (liknande php_gd2.dll) och starta om Apache.

    I nästa inlägg kommer jag att berätta hur du får PHP och Apache att fungera tillsammans.

    Senaste uppdatering: 2017-12-16

    Äta olika sätt installation av all nödvändig programvara. Vi kan installera komponenter separat, eller så kan vi använda färdiga sammansättningar som Denwer eller EasyPHP. I sådana sammansättningar har komponenterna redan första installationen och är redan redo att skapa webbplatser. Men förr eller senare måste utvecklare fortfarande ta till installation och konfiguration enskilda komponenter, ansluta andra moduler. Därför kommer vi att installera alla komponenter separat. Windows kommer att användas som operativsystem.

    Vad innebär installation av PHP? Först behöver vi en PHP-tolk. För det andra behöver vi en webbserver, till exempel Apache, med vilken vi kan komma åt resurserna på webbplatsen vi skapar. För det tredje, eftersom vi kommer att använda databaser, måste vi också installera något slags databashanteringssystem. MySQL valdes som den mest populära i samband med PHP.

    För att installera PHP, låt oss gå till utvecklarens webbplats http://php.net/. På nedladdningssidan kan vi hitta olika distributioner för operativsystemet Linux. Om vårt operativsystem är Windows måste vi ladda ner ett av paketen från sidan http://windows.php.net/download/.

    Ladda ner zip-paketet för den senaste PHP-versionen:

    Vanligtvis, senaste numret PHP har två versioner: Non Thread Safe och Thread Safe. Vi måste välja den trådsäkra versionen. Denna version har alternativ för 32-bitars och 64-bitars system.

    Låt oss packa upp det nedladdade arkivet i en mapp som heter php. Låt den här mappen finnas i roten av enhet C.

    Nu måste vi utföra minimal konfiguration PHP. För att göra detta, gå till c:\php-katalogen och hitta filen där php.ini-utveckling. Detta är den initiala konfigurationsfilen för tolken. Låt oss byta namn på den här filen till php.ini och sedan öppna den i en textredigerare.

    Låt oss hitta raden i filen:

    ; extension_dir = "ext"

    Den här raden pekar på katalogen med plugin-tillägg för PHP. Låt oss avkommentera det (ta bort semikolonet):

    Extension_dir = "ext"

    Eftersom alla tillägg finns i ext-katalogen.

    Eftersom vi kommer att använda MySQL-databaser måste vi ange tillägget i php.ini. Som standard finns det redan i filen, bara det kommenteras ut:

    ;extension=mysqli

    Låt oss avkommentera det genom att ta bort semikolon:

    Extension=mysqli

    Nu som standard kommer detta bibliotek att användas när du arbetar med databasen. Vi kan även avkommentera andra tillägg vid behov. Men till att börja med räcker det med en för oss.

    Vi lämnar resten av filinnehållet oförändrat.

    Låt oss nu installera webbservern.





    

    2024 gtavrl.ru.