Installerer php 7 på Windows 10. Aktiverer mod_rewrite for URL-omskriving. Bruke forskjellige sett med PHP-innstillinger

15.03.17 5.1K

Konfigurasjonsfilen php.ini er hovedkonfigurasjonsverktøyet PHP-kjerner... Det telles hver gang PHP initialiseres. Hvis endringen ikke er synlig, husk å stoppe og starte httpd på nytt. Hvis endringene du har gjort fortsatt er gyldige, bruk phpinfo () funksjonen for å sjekke om php ini er hvor.

Konfigurasjonsfilen er godt kommentert og detaljert. Parametere skiller mellom store og små bokstaver, verdier søkeord- Nei; mellomrom og linjer som begynner med semikolon ignoreres. Boolske verdier kan representeres som 1/0, Ja / Nei, På / Av eller Sant / Usann. Standardinnstillingene i php.ini vil påvirke PHP-installasjonen, som kan tilpasses senere.

I denne artikkelen skal vi se på viktige innstillinger i php.ini-filen, som kan kreves av PHP-parseren.

short_open_tag = Av

Korte åpne tagger ser slik ut:... Denne parameteren må stilles inn Av verdi hvis du vil bruke XML-behandlingsfunksjoner.

safe_mode = Av

Hvis denne parameteren er PÅ, har du sannsynligvis kompilert PHP med enable-safe-mode-flagget. Sikker modus er viktigst for bruk av CGI.

safe_mode_exec_dir =

Dette alternativet er bare meningsfullt hvis det er aktivert sikkerhetsmodus... Den kan også installeres med flagget --with-exec-dir under Unix-byggeprosessen. PHP i sikker modus kjører eksternt binære filer bare fra denne katalogen. Standardkatalogen er / usr / local / bin. Dette har ingenting å gjøre med å tjene en vanlig PHP / HTML-webside.

safe_mode_allowed_env_vars =

Dette php ini-alternativet spesifiserer hvilken Miljøvariabler brukere kan endre i sikker modus. Som standard er det bare de variablene som "PHP_" er lagt til. Hvis dette direktivet er tomt, kan de fleste variablene endres.

safe_mode_protected_env_vars =

Parameteren angir hvilke miljøvariabler brukere ikke kan endre i sikker modus, selv om alternativet safe_mode_allowed_env_vars er aktivert.

disable_functions =

Nok nyttig tillegg i PHP4-konfigurasjonen, som beholdes i PHP5, er muligheten til å deaktivere utvalgte funksjoner av sikkerhetsgrunner. Tidligere krevde dette manuell redigering av C-koden som PHP-tolken ble skrevet i. Funksjoner filsystem, bør operativsystemet og nettverket være først på denne listen, fordi muligheten til å skrive filer og endre systemet via HTTP ikke er sikker.

max_execution_time = 30

Når du setter opp php ini, må du være klar over at funksjonen set_time_limit () ikke vil fungere i sikker modus. Derfor er dette den viktigste måten å implementere forsinket skriptkjøring i sikker modus. På Windows må du kjøre tvungen oppsigelse basert på maksimalt minneforbruk, ikke tid. Du kan også bruke innstillingen for Apache-tidsavbrudd for å implementere ventetid. Men det vil også gjelde for nettstedsfiler som ikke er PHP.

error_reporting = E_ALL & ~ E_NOTICE

Standard er E_ALL & ~ E_NOTICE, alle feil unntatt varsler. Servere bør settes til minst standard. Og bare på hovedservere en lavere verdi kan brukes.

error_prepend_string = [""]

Sammen med "brukes med strenger, som når du genererer verdien av et skjemafelt.

variables_order = EGPCS

Erstatter gpc_order. Begge versjonene har blitt avviklet sammen med register_globals. Den setter rekkefølgen på forskjellige variabler: Environment, GET, POST, COOKIE og SERVER (eller Innebygd). Du kan endre denne rekkefølgen. Variablene vil bli sekvensielt overskrevet fra venstre til høyre, med den lengst til høyre alltid "vinnende". Dette betyr at hvis du forlater standard og bruker ett navn for miljøvariabel, POST-variabelen og COOKIE-variabelen, så vil navnet til slutt tilhøre COOKIE-variabelen.

register_globals = Av

Denne php ini set-parameteren lar deg bestemme om EGPCS-variabler skal registreres som globale. Denne metoden er for tiden utdatert og siden PHP 4.2 er dette flagget satt til Av som standard. Bruk superglobale matriser i stedet.

gpc_order = GPC

Denne parameteren er utdatert.

magic_quotes_gpc = På

Escapes sitater i innkommende GET / POST / COOKIE-data. Hvis du bruker mange skjemaer som sender inn data til seg selv eller andre skjemaer og viser verdiene til skjemaene, må du aktivere dette direktivet eller bruke addslashes ()-funksjonene for dataene av strengtypen.

magic_quotes_runtime = Av

Denne parameteren unnslipper anførselstegn i innkommende databasestrenger og tekststrenger... Husk at SQL legger til skråstreker i enkle anførselstegn og apostrof når du lagrer strenger, og fjerner dem ikke når du returnerer strenger. Hvis dette alternativet er deaktivert, må du bruke stripslashes ()-funksjonen når du viser alle typer strengdata fra en SQL-database. Hvis magic_quotes_sybase er satt til På, må denne parameteren være Av.

magic_quotes_sybase = Av

Unngår enkeltanførselstegn i innkommende databasestrenger og tekststrenger med enkle anførselstegn i Sybase-stil i stedet for omvendte skråstreker. Hvis magic_quotes_runtime er satt til På, denne parameteren bør deaktiveres.

auto-prepend-fil =

Hvis i dette php parameter ini-banen er spesifisert, bør PHP automatisk legge til en include ()-konstruksjon i begynnelsen av hver PHP-fil. Vær oppmerksom på banebegrensningene for inkluderende filer.

auto-tilføy-fil =

Hvis en bane er spesifisert i denne parameteren, bør PHP automatisk inkludere en include ()-klausul på slutten av hver PHP-fil, bortsett fra når du avslutter med exit ()-funksjonen. Vær oppmerksom på banebegrensningene for inkluderende filer.

include_path =

Hvis du angir denne verdien, vil du bare få lov til å inkludere eller be om filer fra spesifiserte kataloger... Inkluder-katalogen er vanligvis plassert under rotdokumentet. Dette er nødvendig hvis du arbeider i sikkermodus. Sett parameteren til .in for å inkludere filer fra katalogen der skriptet ditt er plassert. Flere kataloger er atskilt med kolon: .: / usr / local / apache / htdocs: / usr / local / lib.

doc_root =

Når du konfigurerer php ini, hvis du bruker Apache, så i httpd.conf-filen dokumentroten for denne serveren, eller virtuell vert allerede satt. Sett denne verdien her hvis du bruker sikker modus eller ønsker å aktivere PHP for bare deler av nettstedet ditt ( for eksempel bare i én underkatalog).

Installere en webserver på Linux:

  • Hvis du har Ubuntu, er artikkelen "Hvordan installere Apache Web Server med PHP 7, MariaDB / MySQL og phpMyAdmin (LAMP) på Ubuntu 16.10" for deg.
  • Hvis du har Arch Linux, er artikkelen "Installere LAMP (Linux, Apache, MySQL / MariaDB, PHP7 og phpMyAdmin) på Arch Linux / BlackArch" for deg.

Lokal server veldig nyttig verktøy... Det vil definitivt komme til nytte for webmastere, PHP-programmerere, penetrasjonstestere. Alle programmer inkludert i typisk installasjon webservere er gratis, de har alle en åpen kilde... En lokal webserver bruker et minimum av ressurser og er faktisk ikke vanskelig å installere og konfigurere.

Denne instruksjonen vil fortelle deg hvordan du installerer lokal webserver uten bruk klare forsamlinger... Denne metoden har sine fordeler. De viktigste av disse er: full kontroll på det du installerer; muligheten til å bruke de nyeste programvareversjonene.

Hvis du følger instruksjonene nøyaktig, vil alt definitivt fungere for deg! Bortsett fra de som har Windows XP - hvis du har dette operativsystem, så er det laget en spesiell instruksjon for deg.

Jeg vil vise et eksempel på installasjon på Windows 10, men hvis din er annerledes Windows-versjon, så ikke bli forvirret av dette - prosedyren er identisk overalt. Jeg vil laste ned de siste (ferske) versjonene av programmene i skrivende stund. Hvis det er nye versjoner innen du leser, last dem ned.

Installasjonstrinn:

Du kan også finne det nyttig:

1. Forberedelse (laste ned programmer inkludert i serveren, lage serverstrukturen)

Vi trenger:

  • Apache(nettserver direkte)
  • PHP- miljø for PHP fungerer programmer (påkrevd av nesten alle nettsteder)
  • MySQL- databasestyringssystem (påkrevd av de fleste nettsteder)
  • phpMyAdmin- veldig hendig verktøy for databasebehandling

Den offisielle nettsiden for Apache-utviklerne er httpd.apache.org. Du kan laste ned Apache fra denne siden. Men offisiell versjon bygger med den gamle kompilatoren, av denne grunn fungerer den ikke med nyere versjoner av PHP. PHP-forfatterne anbefaler Apache fra apachelounge.com/download. Derfor, for denne instruksjonen, laster vi ned Apache fra apachelounge.com/download.

Hvis du har en 64-biters versjon av Windows, kan du velge både 64-biters og 32-biters versjoner av komponentene. Hovedregelen er at alle komponenter skal ha samme bithet. Hvis du har en 32-biters versjon av Windows, må alle komponenter være 32-biters. Dette er ikke tilfellet for phpMyAdmin, som er skrevet inn PHP språk... Til PHP-programmer begrepet bithet er ikke anvendelig.

Gratis MySQL-versjon kalt MySQL Community Server... Den kan lastes ned på siden. Det er et kjørbart installasjonsprogram på samme side, men jeg anbefaler å laste ned ZIP-arkivet. På nedlastingssiden får vi tilbud om å registrere eller legge inn en eksisterende regnskap- men dette er valgfritt. Det er nok å klikke på lenken " Nei takk, bare start nedlastingen min". Vær oppmerksom på bitheten.

Vi trenger også en C ++ omdistribuerbar fil Visuelt studio 2017, dvs. Visual C ++ Redistributable Component for Visual Studio 2017 (eller en annen senere), du kan laste den ned på det offisielle Microsoft-nettstedet på lenken (direkte lenke for å laste ned 64-biters versjon; direkte lenke for å laste ned 32-biters versjonen) . Denne filen er nødvendig for webserveren. MySQL krever Visual C ++ Redistributable Packages for Visual Studio 2015. Du kan laste det ned fra.

Så jeg lastet ned følgende filer:

  • httpd-2.4.29-Win64-VC15.zip
  • php-7.2.0-Win32-VC15-x64.zip
  • mysql-8.0.11-winx64.zip
  • phpMyAdmin-4.7.6-all-languages.zip
  • vc_redist.x64.exe
  • vcredist_x64.exe

Installer filer vc_redist.x64.exe og vcredist_x64.exe.

2. Oppretting av strukturen til webserveren

La oss lage katalogstrukturen til serveren vår. hovedide- å dele kjørbare filer og filer fra nettsteder med databaser. Dette er praktisk for servervedlikehold, inkludert sikkerhetskopiering.

Ved roten av disken C: \ opprette en katalog Server... Lag 2 underkataloger i denne katalogen: bin(for kjørbare filer) og data.

Gå til katalogen data og lag undermapper der DB(for databaser) og htdocs(for nettsteder).

Gå til katalogen C: \ Server \ data \ DB \ og opprett en tom mappe der data.

3. Installere Apache 2.4

Innholdet i det nedlastede arkivet (mer presist, bare katalogen Apache24), pakk ut i C: \ Server \ bin \.

Gå til katalogen c: \ Server \ bin \ Apache24 \ conf \ og åpne filen httpd.conf noen tekstredigerer.

I den må vi erstatte en rekke linjer.

Definer SRVROOT "c: / Apache24"

Definer SRVROOT "c: / Server / bin / Apache24"

#ServerName www.example.com:80

Servernavn lokalvert

DocumentRoot "$ (SRVROOT) / htdocs"

DocumentRoot "c: / Server / data / htdocs /"

DirectoryIndex index.html

DirectoryIndex index.php index.html index.htm

# AllowOverride kontrollerer hvilke direktiver som kan plasseres i .htaccess-filer. # Det kan være "Alle", "Ingen" eller en hvilken som helst kombinasjon av nøkkelordene: # AllowOverride FileInfo AuthConfig Limit # AllowOverride None

# AllowOverride kontrollerer hvilke direktiver som kan plasseres i .htaccess-filer. # Det kan være "Alle", "Ingen" eller en hvilken som helst kombinasjon av nøkkelordene: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

#LoadModule rewrite_module modules / mod_rewrite.so

LoadModule rewrite_module modules / mod_rewrite.so

Lagre og lukk filen. Alt, Apache oppsett fullført! Du kan finne en beskrivelse av hvert endrede direktiv på denne siden.

Åpne en ledetekst (du kan gjøre dette ved å trykke på Win + X-tastene samtidig). Velg der Windows PowerShell(administrator) og kopier dit:

C: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k installasjon

Hvis du får en forespørsel fra brannmuren angående Apache, klikker du på Tillat.

Nå går vi inn på kommandolinjen:

C: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k start

Og trykk Enter.

Skriv inn root som brukernavn. La passordfeltet stå tomt. Hvis alt er gjort riktig, skal alt se slik ut:

7. Serverbruk og sikkerhetskopiering av data

I katalogen c: \ Server \ data \ htdocs \ lage mapper og filer, for eksempel:

c: \ Server \ data \ htdocs \ test \ ajax.php - denne filen, henholdsvis, vil være tilgjengelig på http: //localhost/test/ajax.php, etc.

For å lage en fullstendig sikkerhetskopi av alle nettsteder og databaser, bare kopier katalogen C: \ Server \ data \.

Før du oppdaterer moduler, ta en sikkerhetskopi av mappen bin- ved problemer kan du enkelt rulle tilbake til tidligere versjoner.

re-installasjon server eller når du oppdaterer den, må du konfigurere konfigurasjonsfilene på nytt. Hvis du har kopier av disse filene, kan prosessen akselereres kraftig. Det anbefales å sikkerhetskopiere følgende filer:

  • c: \ Server \ bin \ Apache24 \ conf \ httpd.conf
  • c: \ Server \ bin \ mysql-8.0 \ my.ini
  • c: \ Server \ bin \ PHP \ php.ini
  • c: \ Server \ data \ htdocs \ phpMyAdmin \ config.inc.php

Alle innstillinger er lagret i dem.

8. Ytterligere PHP-konfigurasjon

PHP er for tiden et veldig kraftig, fleksibelt, brukervennlig verktøy. På lokal datamaskin den kan brukes til å løse en rekke oppgaver, ikke nødvendigvis relatert til generering av websider. Når du løser ekstraordinære oppgaver, kan du støte på begrensningene som er satt i innstillingene. Disse innstillingene finnes i php.ini-filen (c: \ Server \ bin \ PHP \ php.ini) La oss se på noen av dem:

Memory_limit = 128M

settene maksimalt beløp minne som skriptet kan bruke

Post_max_size = 8M

angir den maksimale mengden data som vil bli akseptert ved sending etter POST-metoden

; default_charset = "UTF-8"

setter kodingen (som standard blir linjen kommentert ut)

Upload_max_filesize = 2M

maksimal størrelse på filen som er lastet opp til serveren. Opprinnelig installert veldig liten størrelse- bare to megabyte. For eksempel, når du laster en database i phpMyAdmin, vil det ikke være mulig å laste en fil som er større enn 2 megabyte før dette konfigurasjonselementet er endret.

Max_file_uploads = 20

maksimalt antall filer å laste opp på en gang

Maks_utførelsestid = 30

maksimal utførelsestid for ett skript

Det er helt valgfritt å endre disse innstillingene, men det er greit å vite om dem.

9. Ytterligere phpMyAdmin-konfigurasjon

Vi har allerede konfigurert phpMyAdmin og det meste av den grunnleggende funksjonaliteten er nok. Imidlertid på startside phpMyAdmin er det en inskripsjon: "Additional phpMyAdmin-funksjoner ikke fullt konfigurert, noen funksjoner er deaktivert."

Nye funksjoner er:

  • viser relasjoner mellom (koblede) tabeller;
  • legge til informasjon om tabeller (siden versjon 2.3.0 kan du beskrive i en spesiell tabell 'tabellinfo' hvilken kolonne som vises i verktøytipset når markøren beveger seg over den tilhørende tasten);
  • lage et PDF-skjema (fra og med versjon 2.3.0 kan du opprette i phpMyAdmin PDF-sider viser relasjonene mellom tabellene dine);
  • vis kolonnekommentarer (siden versjon 2.3.0 kan du lage en kommentar som beskriver hver kolonne for hver tabell. Og de vil være synlige i " forhåndsvisning for utskrift". Siden versjon 2.5.0 er kommentarer brukt på egne sider tabeller og i surfemodus, vist som verktøytips over kolonner (egenskapstabeller) eller innebygd i tabelloverskriften i surfemodus. De kan også vises i tabellen dump);
  • lage bokmerker (siden versjon 2.2.0 tillater phpMyAdmin brukere å bokmerke spørringer. Dette kan være nyttig for ofte brukte spørringer);
  • historikk for SQL-spørringer (siden versjon 2.5.0 kan du lagre historikken over alle SQL-spørringer som ble laget gjennom phpMyAdmin-grensesnittet);
  • designer (siden versjon 2.10.0 er Designer-verktøyet tilgjengelig; det lar deg visuelt administrere relasjoner mellom tabeller);
  • informasjon om nylig brukte tabeller;
  • tilpasse grensesnittet til ofte brukte tabeller;
  • sporing (siden versjon 3.3.x er en sporingsmekanisme tilgjengelig. Den hjelper deg med å spore hver SQL kommando som ble utført av phpMyAdmin. Dataopptak og kommandoopptak støttes. Når den er aktivert, vil du kunne lage versjoner av tabeller);
  • egendefinerte innstillinger (siden versjon 3.4.x lar phpMyAdmin brukere definere de fleste innstillingene og lagre dem i databasen);
  • egendefinerte menyer (fra og med versjon 4.1.0 kan du opprette brukergrupper som kun tilordnede menyelementer vil være tilgjengelige for. En bruker kan tilordnes en gruppe og vil kun se menyelementer tilgjengelig for gruppen hans);
  • skjul / vis navigasjonselementer (siden versjon 4.1.0 kan du skjule / vise elementer i navigasjonstreet).
  • annen

Vi skal nå konfigurere disse tilleggsfunksjoner fullt. Følg lenken http://localhost/phpmyadmin/chk_rel.php og klikk på "Create Database". Etter det vil alle nye funksjoner aktiveres.

Flere skjermbilder av nye funksjoner:

1) Designer

2) Sporing

10. Installere en postplugg

Opprett i C: \ Server \ bin \ katalogen ny katalog kalt Sendmail. Lag en sendmail.php-fil i denne katalogen med følgende innhold:

#! / usr / bin / env php

Åpne PHP-konfigurasjonsfilen, den ligger her C: \ Server \ bin \ PHP \ php.ini... Og legg til en linje der:

Sendmail_path = "C: \ Server \ bin \ PHP \ php.exe C: \ Server \ bin \ Sendmail \ sendmail.php --dir C: \ Server \ bin \ Sendmail \ e-poster"

Lagre filen og start serveren på nytt. Flott, nå vil alle sendte e-poster bli lagret i katalogen C: \ Server \ bin \ Sendmail \ e-poster \

Brev vil ha utvidelsen .eml og de kan åpnes for eksempel med programmet Thunderbird... Eller med en vanlig tekstredigerer.

11. Legge til PHP-katalogen til PATH på Windows

Hvis dette ikke gjøres, kan det være problemer med enkelte PHP-moduler, inkludert php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll og php_pgsql.dll. I det minste når du starter serveren, vises følgende i loggene hver gang:

PHP-advarsel: PHP-oppstart: Kan ikke laste det dynamiske biblioteket "C: \\ Server \\ bin \\ PHP \\ ext \\ php_curl.dll" - \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd. \ r \ n i Ukjent på linje 0 PHP Advarsel: PHP-oppstart: Kan ikke laste dynamisk bibliotek "C: \\ Server \\ bin \\ PHP \\ ext \\ php_intl.dll "- \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd. \ r \ n i Ukjent på linje 0 PHP Advarsel: PHP-oppstart: Kan ikke laste inn dynamisk bibliotek " C: \\ Server \\ bin \\ PHP \\ ext \\ php_ldap.dll "- \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xb d \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd. \ r \ n i Ukjent på linje 0 PHP Advarsel: PHP-oppstart: Kan ikke laste dynamisk bibliotek "C: \\ Server \\ bin \\ PHP \\ ext \\ php_pdo_pgsql .dll "- \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd. \ r \ n i Ukjent på linje 0 PHP Advarsel: PHP-oppstart: Kan ikke laste dynamisk bibliotek "C: \\ Server \\ bin \\ PHP \\ ext \\ php_pgsql.dll" - \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd. \ r \ n i Ukjent på linje 0

For å unngå disse advarslene, legg til banen til PHP i systemmiljøvariablene.

Klikk på Start-knappen (eller hva heter den på Windows 10?), Begynn å skrive " Endring av systemmiljøvariabler»Og åpne det tilsvarende innstillingsvinduet.

Der klikker du " Miljøvariabler»:

I vinduet " Systemvariabler»Finn og klikk på Sti, klikk deretter " Endring»:

Hev inngangen til toppen:

Lukk alle vinduer og lagre endringene som er gjort.

Start serveren på nytt.

12. Frysing, trafikknedgang og/eller serverfeil Asynkron AcceptEx mislyktes

Hvis serveren din "fryser" selv uten belastning, viser den ikke nettsiden før omstart, og serverloggene inneholder Asynchronous AcceptEx-feil:

AH00455: Apache / 2.4.9 (Win64) PHP / 5.5.13 konfigurert - gjenoppta normal drift AH00456: Apache Lounge VC11 Server bygget: 16. mars 2014 12:42:59 AH00094: Kommandolinje: "c: \\ Server \\ \\ Apache24 \\ bin \\ httpd.exe -d C: / Server / bin / Apache24 "AH00418: Foreldre: Opprettet underordnet prosess 4952 AH00354: Underordnet: Starter 64 arbeidertråder. (OS 64) Det angitte nettverksnavnet er ikke lenger tilgjengelig. : AH00341: winnt_accept: Asynkron AcceptEx mislyktes. (OS 64) Det angitte nettverksnavnet er ikke lenger tilgjengelig. : AH00341: winnt_accept: Asynkron AcceptEx mislyktes. (OS 64) Det angitte nettverksnavnet er ikke lenger tilgjengelig. : AH00341: winnt_accept: Asynkron AcceptEx mislyktes. (OS 64) Det angitte nettverksnavnet er ikke lenger tilgjengelig. : AH00341: winnt_accept: Asynkron AcceptEx mislyktes. (OS 64) Det angitte nettverksnavnet er ikke lenger tilgjengelig. : AH00341: winnt_accept: Asynkron AcceptEx mislyktes. (OS 64) Det angitte nettverksnavnet er ikke lenger tilgjengelig. : AH00341: winnt_accept: Asynkron AcceptEx mislyktes.

Legg deretter til Apache-konfigurasjonsfilen:

AcceptFilter http none AcceptFilter https ingen AktiverSendfil av AktiverMMAP av

13. Konfigurere cURL i Apache webserver på Windows

Hvis du ikke vet hva cURL er, trenger du det ikke. De. hopp over dette trinnet.

cURL er et konsollverktøy som lar deg kommunisere med eksterne servere ved å bruke et veldig stort antall protokoller. cURL kan bruke informasjonskapsler og støtter autentisering. Hvis nettapplikasjonen krever cURL, må dette spesifiseres i avhengighetene. Mange populære applikasjoner krever ikke cURL, for eksempel trenger ikke phpMyAdmin og WordPress å konfigurere cURL.

Hvis cURL ikke er riktig konfigurert, vil du få feilmeldinger:

Fatal feil: Anrop til udefinert funksjon curl_multi_init () i ...

Krøllefeil: SSL-sertifikatproblem: kan ikke hente lokalt utstedersertifikat

For at cURL skal fungere i Apache på Windows, trenger du:

1) Sørg for å legge til PHP-katalogen til PATH (systemmiljøvariabler). Hvordan du gjør dette er angitt rett ovenfor:

2) I filen C: \ Server \ bin \ PHP \ php.ini linjen må være ukommentert forlengelse = krøll

Dette er vanligvis ikke nødvendig, men hvis du ønsker det, kan du lage en sikkerhetskopi av serverbinærfilene (kjørbar). Alle disse filene ligger i mappen C: \ Server \ bin \... Disse er Apache, MySQL og PHP – dvs. programmer som er ansvarlige for driften av serveren, men som vi når som helst kan laste ned fra de offisielle sidene og konfigurere på nytt.

Hvis du vil ta en sikkerhetskopi av dem (for eksempel før du oppdaterer serveren), må du stoppe tjenestene:

C: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k stop net stop mysql

Og kopier mappen til et trygt sted C: \ Server \ bin \.

Du kan forresten kopiere hele serveren som helhet, dvs. mappe C: \ Server \- i dette tilfellet vil du samtidig få en sikkerhetskopi av både kjørbare filer og data (databaser, nettsteder).

Når kopieringen er fullført, start tjenestene på nytt:

C: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k start net start mysql

15. Serveroppdatering

Alle komponenter som utgjør webserveren er aktivt utviklet og nye versjoner utgis jevnlig. Når en ny versjon er utgitt, kan du oppdatere én komponent (for eksempel PHP), eller flere samtidig.

Fjerner en server

Hvis du ikke lenger trenger en server, eller du vil installere det på nytt, stopp tjenestene og fjern dem fra autostart ved å kjøre sekvensielt i kommandolinje:

C: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k stop c: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k avinstaller net stop mysql c: \ Server \ bin \ mysql-8.0 \ bin \ mysqld --fjern

Slett serverfilene ved å slette mappen C: \ Server \. OBS, dette vil slette alle databaser og nettstedene dine.

Hvordan beskytte Apache Web Server fra hacking på Windows

Med PHP (med valg av versjoner), med MySQL og phpMyAdmin. Dette nettstedet er vert på det: responsiv og kvalifisert teknisk støtte, installasjon av WordPress og andre nettapplikasjoner med ett klikk, som en gave når du betaler for et år, gratis nettstedsoverføring. Ved bestilling av hosting + 1 måned gratis (kampanjekode b33e0e2f).

Det er mange gode applikasjoner skrevet i PHP. Ikke engang,
mange og noen av dem er veldig gode, så hvorfor ikke bruke disse
applikasjoner på Windows? Spesielt hvis den interne portalen kjører på Windows, og
på en Unix-maskin spinner det eksterne nettstedet til selskapet - da
kan spare på infrastruktur og hostes på Windows
serveren har også en ekstern side. Eller, hvis det er et ønske om å standardisere
infrastruktur og vertssider på Windows
plattform som utviklere og brukere jobber med
Windows-plattform.
På nettsiden www.iis.net
kan bli funnet
liste
populære PHP-applikasjoner
med installasjonsinstruksjoner på IIS. For å lansere dem
ingen endring nødvendig på IIS
PHP-kode.

Installere og konfigurere PHP for bruk med FastCGI-modulen.

Først, for å lykkes med å bruke PHP på
Windows, PHP ville vært fint
installere.
Trinn 1. Last ned PHP
På PHP.net-siden må du laste ned
den nyeste versjonen av PHP for Windows. For bruk med FastCGI anbefales det
installer PHP-versjon uten trådsikkerhetskontroll siden selve modulen
FastCGI sikrer at utførelse skjer i en enkelt tråd og støtte
trådsikkerhetskontroll i PHP selv introduserer unødvendige kontroller og
låser som fører til betydelig ytelsesforringelse. Derfor
velg ikke-trådsikre Win32-binærfiler (versjon 5.2.6 er relevant i skrivende stund
av dette innlegget) .
Det skal bemerkes at vi mener Non-thread-safe ble utviklet spesielt for
arbeid med FastCGI på IIS (den første utgivelsen var i versjon 5.2.1) og bruk i
andre miljøer anbefales ikke. Forresten, fra og med versjon 5.2.2 Zend seriøst
jobber med å optimalisere PHP-ytelsen for Windows, noe som ikke kan annet enn
vær så snill. Hvis vi sammenligner versjon 5.2.1 og 5.2.2, så forskjellen i prosesseringshastighet
spørringer kan enkelt sees med en enkel belastningstest.
Trinn 2. Installer PHP
Installasjonen er ganske enkel: siden vi lastet ned arkivet med
kjørbare filer, er det nok å utvide dette arkivet, for eksempel i
katalog C: \ Web \ PHP.
Vi vil bruke de anbefalte innstillingene som en grunnleggende konfigurasjon:
lag en kopi av den php.ini-anbefalte filen i php.ini i samme katalog og åpne
det for redigering, hvoretter vi vil gå gjennom filen ovenfra ved å oppheve kommentering av følgende
strenger for å sikre sikkerhet og kompatibilitet med de fleste PHP
applikasjoner:
  • open_basedir = katalogen der PHP-applikasjoner er plassert.
    Å spesifisere katalogen vil begrense tilgangen til kun PHP-applikasjonsfiler
    denne katalogen. Det er praktisk å overstyre denne innstillingen i konfigurasjonsfilene
    direkte for hver applikasjon, men det skader ikke å installere dette
    konfigurasjon og spesifiser rotkatalogen til alle PHP-applikasjoner. For eksempel C: \ inetpub \ PhpSites.
  • cgi.force_redirect = 0
    Standard er 1, men må settes til 0 som IIS
    kontrollerer PHP-utførelsessikkerhet og i denne innstillingen er det ingen
    nødvendighet. Dessuten kan slå på føre til uventede
    resultater. Når det brukes med andre webservere på Windows, er dette
    innstillingen må være aktivert.
  • cgi.fix_pathinfo = 1
    PHP vil angi filnavnet i SCRIPT_FILENAME-variabelen if
    satt til 0, så vil filnavnet være i PATH_TRANSLATED-variabelen, som
    kan bryte kompatibiliteten med de fleste applikasjoner.
  • fastcgi.impersonate = 1;
    FastCGI lar en prosess etterlignes ved å bruke klientkonteksten,
    kaller prosessen. Denne mekanismen fungerer kun under FastCGI / IIS, for eksempel
    det vil ikke fungere på Apache på Windows.
  • short_open_tag = På
    De fleste apper bruker korte tagger, så det blir nei
    overflødig å inkludere deres støtte.
  • display_errors = På
    Når du sjekker og feilsøker PHP-applikasjoner på FastCGI, bør du aktivere utdataene
    feilmeldinger.
Trinn 3. Sjekk PHP-funksjonalitet
Inntil vi konfigurerte IIS, sjekk at tolken fungerer
du kan ganske enkelt, for eksempel, ved å kjøre kommandoen c: \ web \ php \ php.exe -info> c: \ test.txt

Installere og konfigurere FastCGI-modulen på IIS7.

Hvis du har IIS7, så er det noe som forteller meg om navnet på operasjonsstuen din
systemer - Windows Vista? Gjett feil, da Windows Server 2008! Enten er du en hacker og
sette IIS7 et annet sted, men dette er en ikke-standard løsning, og det gjør vi ikke
vi støtter;).
Trinn 1. Installer FastCGI
Jeg vil glede meg med en gang - i IIS7, kommer med Windows Server 2008 og Windows Vista
Service Pack 1 FastCGI-modul er allerede inkludert. Den trenger bare å kobles til
innstillinger. For å gjøre dette på Vista, åpne Kontrollpanel -> Programmer og velg
"Slå Windows-funksjoner på eller av":

Etter det må du installere funksjonen i IIS: Internet Information Services
-> World Wide Web Services -> Applikasjonsutviklingsfunksjoner -> CGI. Hvori
støtte for både CGI og FastCGI vil bli installert.

På Windows Server 2008 er prosessen den samme: Server Manager -> Roller -> Legg til
Rolletjenester -> Webserver -> Applikasjonsutvikling -> CGI.
Faktisk alt som kreves for å aktivere FastCGI-modulen.
Trinn 2. Konfigurere IIS7
1. Åpne IIS Manager, velg noden (serveren) du vil konfigurere for
PHP-støtte. Og velg deretter Handler Mappings.

2. Velg koblingen Legg til modultilordning på siden Handler Mappings og
fyll vinduet med følgende verdier:
Forespørselsbane: * .php (behandler alle filer med .php-utvidelsen)
Modul: FastCgiModule (FastCGI-modul)
Kjørbar: C: \ Web \ PHP \ php-cgi.exe (sti til PHP)
Navn: PHP (navn for enkelhets skyld)

Etter at du har lagt til denne innstillingen, vises et vindu som spør om registrering
FastCGI-applikasjon for denne behandleren. Vi bekrefter.
Handlingene ovenfor førte til opprettelsen av følgende 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 = "Uspesifisert" />



Nå kan du fortsette å teste PHP-funksjonalitet.
Trinn 3. Kontroller at innstillingene er riktige
Lag en fil i katalogen til noden som vi konfigurerte PHP for
index.php:
phpinfo ();
?>
Og vi henviser til denne filen gjennom HTTP-forespørsel... Som et resultat, hvis alt er bra og
vår karma er ikke ødelagt, forespørselen vil bli behandlet riktig:

Selvfølgelig, når du bruker PHP på
IIS7 kan oppleves undervanns steiner med hvem du trenger
sliter med å oppnå det forventede resultatet (bra jobbet
PHP-applikasjoner på Windows).
Hammere for å bryte vanlige steiner er oppført nedenfor.

Frekvens for omstart av PHP-prosessen

Siden jeg brukte PHP på
IIS7 ved hjelp av FastCGI
modulen tar selve FastCGI-modulen over
prosess- og ressursstyring, må du sørge for at omstartsmekanismen
prosesser (resirkulering) i PHP
vil ikke forstyrre FastCGI. Det er enkelt å gjøre hvis
konfigurer FastCGI slik at den alltid starter på nytt
prosesser før PHP gjør det.
Det er en innstilling i FastCGI-innstillingene
instanceMaxRequests, som bestemmer etter hvor mange forespørsler som har blitt behandlet,
prosessen vil bli startet på nytt. I PHP, en lignende parameter
satt av verdien til PHP_FCGI_MAX_REQUESTS-variabelen. Åpenbart å gi
FastCGIs evne til å styre prosessen, er det nok
sett instanceMaxRequests<= PHP_FCGI_MAX_REQUEST.
Det er praktisk å gjøre dette ved å redigere filen
applicationHost.config (skjult i katalogen C: \ windows \ system32 \ inetsrv \ config \).
Konfigurasjonen bør inneholde følgende informasjon:

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


Bruker flere PHP-versjoner

Ettersom forskjellige PHP-versjoner kan brukes i
applikasjoner som ligger på serveren, ville det være fint å gi muligheten
bruke forskjellige versjoner for forskjellige nettsteder.
I konfigurasjonsfilen applicationHost.config
det er nok å definere seksjoner for forskjellige versjoner PHP:
< fastCgi >
< application fullPath = "C: \ inetpub \ php \ php-cgi.exe">
...

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

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


* Denne kildekoden ble uthevet med.
Og allerede for hvert av nettstedene er det konfigurert en modul som bruker en eller annen
versjon (du kan bruke grensesnittet beskrevet ovenfor, eller du kan
rediger konfigurasjon i tekst):
< handlers >
< add name =«PHP4» path ="*.php" verb ="*" modules =«FastCgiModule»
scriptProcessor = "C: \ inetpub \ php \ php41.exe"
resourceType = "Uspesifisert" />

* Denne kildekoden ble uthevet med.

Bruke forskjellige sett med PHP-innstillinger

Hvis du vil konfigurere PHP annerledes for
forskjellige nettsteder, så igjen kan alt dette beskrives gjennom konfigurasjonsinnstillingene 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» />






* Denne kildekoden ble uthevet med.

Etter det er innstillingene koblet til de tilsvarende nettstedene 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 = "Uspesifisert" requireAccess = "Skript" />




* Denne kildekoden ble uthevet med.

I henhold til den gitte konfigurasjonen, php.ini
må plasseres i katalogen til hvert av nettstedene.
Når du redigerer innstillinger, bør du strengt tatt observere sammentreffet av stier til
tilsvarende PHP-versjon og med
applicationHost.config og i web.config slik at
unngå uventede resultater hvis stier er forvirrede.
Ved første øyekast kan det virke komplisert å redigere en konfigurasjon
vanskelig prosess, men når du først har blitt vant til konfigurasjonen i
XML og innstillinger forplantningsmetode
Ctrl + C, Ctrl + V, du vil bli overrasket over tilstedeværelsen av andre
konfigureringsmåter :)

PHP sikkerhetsinnstillinger

I php.ini, mnoo forskjellige innstillinger, hvorav mange
påvirke sikkerheten bruker PHP... Melodi
alt på en skikkelig måte, en verdig sak.
Sett allow_url_fopen = Av
; bruker URL for filoperasjoner
Sett allow_url_include = Av
register_globals = Av
; avregistrering av globale variabler
open_basedir = "c: \ inetpub \";
begrensning på katalogen der PHP kjører

Maks_utførelsestid = 30; begrensning
skriptutførelsestid
max_input_time = 60
minnegrense = 16M;
begrensning på størrelsen på det brukte minnet
upload_max_filesize = 2M
post_max_size = 8M
max_input_nesting_levels = 64
display_errors = Av
; deaktivering av feilmeldinger
log_errors = På
error_log = "C: \ error.log"
expose_php = Av
; skjul PHP-tilstedeværelse

Konklusjon

PHP på Windows er det ikke
bare interessant og praktisk, det viktigste er at det fungerer. Og laget
IIS jobber med å lage PHP
fungerte på Windows ikke dårligere enn på
Unix / Linux (selvfølgelig prøver å gjøre det bedre).
Siden dette nytt emne for Microsoft, så kan vi det
gjør noen feil, kanskje vi ikke legger merke til og forstår noe, så vi
det er veldig viktig å få kommentarer fra dere utviklere og administratorer.
Skriv i kommentarfeltet dine ønsker og problemer som du ser nå i
PHP på Windows, og vi vil
prøve å løse problemer, og gjennomføre ønsker.

Tags: Legg til tagger

Presenter for din oppmerksomhet nytt kurs fra laget Koden av- "Penetrasjonstesting av webapplikasjoner fra bunnen av". Generell teori, forberedelse av arbeidsmiljøet, passiv fuzzing og fingeravtrykk, Aktiv fuzzing, Sårbarheter, Post-utnyttelse, Verktøyverktøy, Social Engineering og mer.


Hvis du Linux-bruker, og se deretter artikkelen "".

PHP 7 utgang

dette øyeblikket PHP 7.0.0 Alpha utgivelse 2 er tilgjengelig. Den første betaversjonen vil dukke opp i løpet av de neste dagene. Verken alfa eller beta anbefales for ekte arbeid... Men du kan allerede prøve dem på en testserver.

Dessuten er endringene i PHP7 svært betydelige:

  • Opptil 2 ganger PHP 7-ytelsen over PHP 5.6 (wow!)
  • Forventet 64-bits støtte
  • Mange fatale feil er nå unntak
  • Fjerner gamle og ikke-støttede SAPI ( programvaregrensesnitt serverapplikasjoner) og utvidelser
  • NULL koalescerende operatør (??)
  • Kombinert sammenligningsoperatør (<=>)
  • Returtypeerklæring
  • Skalartypeerklæring
  • Anonyme klasser

Hvordan installere PHP 7 på Windows

PHP av en hvilken som helst versjon er nesten alltid sammenkoblet med en server og et databasestyringssystem. Hvis du ikke har en server i det hele tatt, se artikkelen "". Når du kommer til å installere PHP i den artikkelen, kom tilbake hit.

Hvis du allerede har en server, da generelle spørsmål for oppdateringen finner du i artikkelen "".

Funksjoner ved å installere PHP 7 på Windows

Jeg installerte på Apache 2.4 VC14. Hvis du ikke har oppdatert serveren ennå, gjør det. Lenker og detaljer om denne håndboken.

Gå til denne siden for å laste ned PHP 7.0. Last alltid ned alle programmer bare fra offisielle nettsteder!

Velg versjon Trådsikker(64-bit eller 32-bit som din Apache server).

Nødvendig Visual C ++ Redistribuerbar for Visual Studio 2015! Hvis du allerede har oppgradert Apache-serveren din, trenger den serveren også denne pakken. De. du burde allerede ha installert den. Hvis dette ikke er tilfelle, gå til det offisielle nettstedet og last ned pakken med den tilsvarende bitheten.

Etter nedlasting, installer den.

Hvis du bruker serveren når du installerer, pakker du ut innholdet i det nedlastede arkivet fra PHP inn i katalogen C: ServerbinPHP.

Gå til denne katalogen, finn filen php.ini-utvikling og gi det nytt navn til php.ini.

Åpne denne filen med et hvilket som helst tekstredigeringsprogram, finn linjen der

; extension_dir = "ext"

Og erstatte den med

Extension_dir = "ext"

Nå må vi aktivere PHP-utvidelser, siden uten dem vil de fleste nettsteder og skript ikke fungere. OBS: for øyeblikket, med noen utvidelser, er det ikke mulig å starte serveren, så ta en nærmere titt nedenfor. Finn en gruppe linjer:

; extension = php_bz2.dll; extension = php_curl.dll; extension = php_fileinfo.dll; extension = php_gd2.dll; extension = php_gettext.dll; extension = php_gmp.dll; extension = php_intl.dll; extension = php_imap.dll; utvidelse = php_interbase.dll; extension = php_ldap.dll; extension = php_mbstring.dll; extension = php_exif.dll; Må være etter mbstring da det avhenger av det; extension = php_mysqli.dll; extension = php_oci8_12c.dll; Bruk med Oracle Database 12c Instant Client; extension = php_openssl.dll; extension = php_pdo_firebird.dll; extension = php_pdo_mysql.dll; extension = php_pdo_oci.dll; extension = php_pdo_odbc.dll; extension = php_pdo_odbc.dll; extension = phpgspqlph_dll_ extension = php_pgsql.dll; extension = php_pspell.dll; extension = php_shmop.dll

Og erstatte dem med følgende linjer. Vær oppmerksom på at noen utvidelser forblir deaktivert fordi Apache ikke vil starte når den er aktivert!

Utvidelse = php_bz2.dll-utvidelse = php_curl.dll-utvidelse = php_fileinfo.dll-utvidelse = php_gd2.dll-utvidelse = php_gettext.dll-utvidelse = php_gmp.dll-utvidelse = php_intl.dll-utvidelse = php_imap.dll; filtype = php_interbase_dll-utvidelse. dll-utvidelse = php_mbstring.dll-utvidelse = php_exif.dll; Må være etter mbstring, da det avhenger av det extension = php_mysqli.dll; extension = php_oci8_12c.dll; Bruk med Oracle Database 12c Instant Client-utvidelse = php_openssl.dll; extension = php_pdo_firebird.dll-utvidelse = php_pdo_mysql.dll; extension = php_pdo_oci.dll-utvidelse = php_pdo_odbc.dll-utvidelse = php_pdo_firebird.dll-utvidelse_pgsphlql.dll extension_pgsphlpql .dll-utvidelse = php_shmop.dll

Nå finner vi følgende gruppe linjer:

; extension = php_soap.dll; extension = php_sockets.dll; extension = php_sqlite3.dll; extension = php_tidy.dll; extension = php_xmlrpc.dll; extension = php_xsl.dll

Disse utvidelsene kan inkludere alle:

Extension = php_soap.dll-utvidelse = php_sockets.dll-utvidelse = php_sqlite3.dll-utvidelse = php_tidy.dll-utvidelse = php_xmlrpc.dll-utvidelse = php_xsl.dll

Lagre og lukk filen.

La oss nå gå videre til konfigurasjonen Apache-fil... De som installerte i henhold til mine instruksjoner har denne filen her C: ServerbinApache24confhttpd.conf

Vi åpner den med hvilken som helst tekstredigerer. Finn strengene som vi brukte for å koble til PHP 5 og slett dem.

#BEGIN REDIGERING AV PHP INSTALLATØR - FJER KUN PÅ AVINSTALLERING PHPIniDir "C: / Server / bin / PHP" AddHandler-applikasjon / x-httpd-php .php LoadModule php5_module "C: /Server/bin/PHP/php5apache2_4.dll" #END PHP INSTALLATØRENDERINGER – FJERN KUN VED AVINSTALLERING

I stedet legger vi til linjene:

Garanten er en pålitelig mellommann mellom deltakerne i transaksjonen.


Og beskriver bare særegne punkter for å installere Apache24 og PHP7 på Windows. Installasjonsbeskrivelse MySQL DBMS forblir den samme og gjentas ikke i denne håndboken.

Før du fortsetter å lese, vær oppmerksom på om du virkelig trenger å installere og konfigurere alt dette under Windows?Kanskje du bør være oppmerksom på og ikke kaste bort tid og nerver på å konfigurere det samme direkte i Windows? Uansett, les artikkelen om. Kanskje det vil spare deg ikke bare tid, men også helse.

Denne håndboken er ment for utviklere med grunnleggende kunnskap Apache og PHP. Denne håndboken vil beskrive eneste forskjellen v installere Apache og PHP med grunnleggende instruksjoner på PHP installasjon 5.6. Hvis du ikke er klar over hva en WEB-server, http-protokoll og PHP-tolk er, så kan du alltid lære mer om dette ved å lese dokumentasjonen.

Jeg vil ikke svare i kommentarfeltet på spørsmål som er besvart i denne eller hovedinstruksen, en lenke til hovedinstruksjonene er angitt i første ledd, samt spørsmål som er relatert til forståelse Apache fungerer og PHP, og enda mer for spørsmål om feil i utviklingen. For dette er det passende ressurser, litteratur, fora, kurs. Du kan imidlertid alltid stille spørsmål som interesserer deg. Kanskje noen fra samfunnet kan hjelpe deg.

Så la oss gå!

Installerer Apache 2.4 VC14

  1. Laster Apache 2.4 binærfiler VC14 for systemet ditt på lenken http://www.apachelounge.com/download/ Nedlasting 64 bit versjon server. Da dette ble skrevet, ble filen navngitt slik: httpd-2.4.17-win64-VC14.zip
  2. Hvis du trenger noen tilleggsmoduler, de kan lastes ned der (for enkel installasjon ikke nødvendig)
  3. Last ned og installer Visual C ++ Redistributable for Visual Studio 2015-oppdateringene fra Microsofts nettsted.
  4. Pakk ut innholdet i mappen Apache24 fra det nedlastede arkivet til D: \ USR \ apache... Vær oppmerksom på at i D: \ USR \ apache må du ikke legge inn Apache24-mappen fra arkivet, men innholdet. Du trenger ikke installere noe.
  5. Endre verdien i filen Serverrot"D: / usr / apache" (linje 37) og verdien DocumentRoot(og Direktør) på "D: / USR / www" (linje 243 og 244). Du bør også avkommentere linje 219 og endre den til: Servernavn lokalvert: 80
  6. Endre parametrene for lagring av logger i samme fil (finn parametrene og endre dem): ErrorLog "D: /USR/log/apache-error.log" CustomLog "D: /USR/log/apache-access.log" vanlig
  7. Installer Apache-tjenesten. Åpne kommandolinjen på vegne av administratoren og sett inn der neste linje: D: \ USR \ apache \ bin \ httpd.exe -k installasjon
  8. Se etter feilmeldinger under installasjonen av tjenesten. Hvis alt er gjort riktig, bør det ikke være noen feil. Hvis kommandolinjen ikke vises igjen etter å ha utført linjen, har du gjort noe galt. Bare bruk kopier og lim-funksjonene for å unngå feil ved ny utskrift.
  9. Lag en snarvei på skrivebordet for D: \ USR \ apache \ bin \ ApacheMonitor.exe og / eller sett den i oppstart (for å åpne oppstartsvinduet i WIN8..10, trykk WIN + R, og skriv deretter inn skall: Oppstart og klikk OK)
  10. Start ApacheMonitor. En snarvei vises i systemstatusfeltet. Venstreklikk på den, velg Apache24 -> Start.
  11. I nettleseren, gå til http: // localhost / - du bør se Det fungerer!
  12. Hvis du ikke har sett en slik inskripsjon, finner vi ut hva som gikk galt (vi leser loggene, google, vi prøver å finne ut av problemet på egen hånd, siden vi bestemte oss for å forstå vanskelighetene til webserveren)

Installer PHP 7

  1. Laster siste versjon VC14 x64Trådsikker på lenken http://windows.php.net/download/. Vær oppmerksom på at du trenger nøyaktig VC14 og presist Trådsikker... Filen du trenger vil mest sannsynlig hete noe sånt som: php-7.0.0-Win32-VC14-x64.zip
  2. Vi trekker ut innholdet i arkivet inn D: \ USR \ php... Som med Apache, trenger du ikke å installere noe.
  3. Å lagre D: \ USR \ apache \ conf \ httpd.conf legg til følgende linjer: LoadModule php7_module "d: /USR/php/php7apache2_4.dll" AddHandler-applikasjon / x-httpd-php .php # Path to php.ini PHPIniDir "D: / USR / php"
  4. Og endre betydning parameter DirectoryIndexindex.html index.php (linje 278)
  5. Bruker ApacheMonitor omstart Apache (Apache24 -> Start på nytt)
  6. Gå til nettleseren http://localhost/index.php og sørg for at PHP fungerer (nettleseren vil vise PhpInfo-utdata).
  7. Lage en kopi av konfigurasjonsfilmalen D: \ USR \ php \ php.ini-utvikling Med navn D: \ USR \ php \ php.ini Er en konfigurasjonsfil for PHP.
  8. Redigering av konfigurasjonsfilen D: \ USR \ php \ php.ini... Ved å bruke søket finner vi inne i filen, avkommenterer og endrer parameterne. Merk at utvidelsesparameteren definerer et sett med PHP-utvidelser. Fjern kommentarene til utvidelsene du trenger. I eksemplet, utvidelsene jeg trengte. Spesifiser din tidssone, ikke min: extension_dir = "D: / USR / php / ext" sys_temp_dir = "D: / USR / tmp" extension = php_curl.dll extension = php_gd2.dll extension = php_gettext.dll extension = php_mbstring. dll extension = php_mysqli.dll utvidelse = php_openssl.dll date.timezone = Europa / Zaporozhye

    Hvis du har problemer med å kjøre curl, se denne veiledningen.

  9. Vi kjører på kommandolinjen php -m for å vise en liste over tilkoblede utvidelser.
  10. Omstart Apache ved hjelp av ApacheMonitor

Installasjonen og konfigurasjonen av alt annet har ikke endret seg. Se installasjonsveiledningen for PHP 5.6 for detaljer.