In dit artikel leert u hoe u het FastCGI-element kunt configureren en hoe u PHP kunt configureren zodat het alle toepassingen van PHP op de IIS 7-webserver en recente versies kan hosten.


Op het IIS-platform maakt het FastCGI-element het mogelijk om die veel gebruikte toepassingsframeworks mogelijk te maken die tegelijkertijd ondersteuning bieden voor de FastCGI-elementen en het mogelijk te maken dat de elementen op een betrouwbare en hoogwaardige manier worden gehost op de webserver van de IIS. FastCGI voorziet in een uitwisseling naar de Common Gateway Interface (CGI), een eersteklas middel om externe applicaties te koppelen met die webservers, een functie die door IIS wordt ondersteund sinds de eerste keer dat het werd uitgebracht.

CGI-programma’s zijn bestanden die kunnen worden uitgevoerd en in de meeste gevallen; de webservers starten ze voor elk verzoek dat de verwerking van het verzoek definieert en speciale antwoorden genereert die vervolgens aan die gebruiker worden geretourneerd. Omdat de uitvoering met meerdere threads niet door veel van deze frameworks wordt ondersteund, zou de CGI hen dan helpen om op betrouwbare wijze op het IIS-platform uit te voeren door de exacte uitvoering van één verzoek voor elk proces. Vanwege de kosten die gemoeid zijn met het starten en ook het afsluiten van één proces voor elke query, levert dit een zeer slecht resultaat op.

Door te voorzien in een manier waarop een proces keer op keer wordt gebruikt om veel verzoeken af ​​te handelen, lost de FastCGI alle problemen op met betrekking tot prestaties die bij CGI voorkomen. Door voorzieningen te treffen voor een pool van processen die opnieuw kunnen worden gebruikt, en ervoor te zorgen dat alleen een verzoek slechts door een proces tegelijk wordt afgehandeld, behoudt de FastCGI de compatibiliteit met die bibliotheken die “niet-thread-safe” zijn.

Beveiligingsisolatie voor PHP-websites

Alle IIS-aanbevelingen voor het isoleren van algemene beveiliging komen overeen met de aanbevelingen die worden gebruikt om websites die PHP ondersteunen te isoleren in een omgeving die kan worden gedeeld voor hosting. De aanbeveling voor het isoleren van PHP-websites in een gedeelde hostingomgeving is consistent. Dus de onderstaande aanbevelingen:

  • Zorg ervoor dat u slechts één toepassingsgroep gebruikt voor slechts één website.
  • Zorg ervoor dat u voor de toepassingsgroep een speciaal gebruikersaccount gebruikt
  • Om gebruik te maken van de identiteit van de toepassingsgroep, configureert u een gebruikersidentiteit die anoniem is.
  • Zorg ervoor dat u FastCGI-imitatie inschakelt in het bestand van de php.ini dus: (fastcgi.impersonate = 1)

Recycling van PHP-processen

Zorg ervoor dat FastCGI, voordat u begint met het recyclen voor de native PHP, de processen van php-cgi.exe al heeft gerecycled. Het recyclinggedrag van het FastCGI-systeem wordt gereguleerd door de configuratiekenmerken “instanceMaxRequests”. Nu maakt die specifieke eigenschap specificaties van het aantal vragen dat de FastCGI vóór recycling kan beheren.

Ook heeft de PHP een gerelateerd systeem van recyclingfunctie dat wordt gereguleerd door de PHP_FCGI_MAX_REQUESTSenvironment. Door ervoor te zorgen dat de instanceMaxRequest een instelling heeft die gelijk is aan of kleiner is dan de PHP_FCGI_MAX_REQUESTS, kunt u er zeker van zijn dat de recyclinglogica voor de native PHP nooit wordt geactiveerd.

Om de instellingen van de FastCGI te configureren, kunt u ofwel gebruik maken van de AppCmd commando’s Line tool of de IIS Manager.

A: Hoe IIS Manager te gebruiken om de recyclinginstellingen van FastCGI te configureren

Stap 1: Selecteer FastCGI-instellingen

Zorg ervoor dat u het IIS-beheerpakket op uw eigen server hebt geïnstalleerd en klik op IIS-beheer om te openen. Klik vervolgens tweemaal op de FastCGI-instellingen op het niveau van de server.

Stap 2: Selecteer de optie Bewerken

Kies de specifieke FastCGI-app die u wilt configureren en selecteer vervolgens het paneel met de tag “Actie” en kies de bewerkingsoptie.

Stap 3: Configureer de “InstanceMaxRequests"

In de Bewerk FastCGI-applicatie dialoog venster, integreer 10000 als de InstanceMaxRequestssetup en kies het tabblad met de tag “Browse”, dicht bij de instellingen voor de EnvironmentVariables.

Stap 4: Omgeving toevoegen

Voor de EnvironmentVariables Collection Editor, dialoogvenster integreren de "PHP_FCGI_MAX_REQUESTS"omgevingsvariabele en selecteer 10000 de waarde ervan.

Dit is essentieel, want als u de instelling niet configureert, past het systeem automatisch de onderstaande standaardinstelling voor u toe:

Voor theinstanceMaxRequests = "200"

Voor de PHP_FCGI_MAX_REQUESTS = “500” (voornamelijk gebruikt op PHP-configuraties).

FastCGI-recyclinginstellingen configureren via de opdrachtregel

Gebruik de. Om het recyclinggedrag van PHP en FastCGI te configureren AppCmd met behulp van de onderstaande commando’s:

consoleCopy

C:>% windir% system32inetsrvappcmd set config -section: system.webServer / fastCgi /”fullPath=’c:{php_folder}php-cgi.exe’frame.instanceMaxRequests:10000

C:>% windir% system32inetsrvappcmd.exe set config -section: system.webServer / fastCgi /+"[fullPath = ‘C: {php_folder} php-cgi.exe’]. environmentVariables. [name = ‘PHP_FCGI_MAX_REQUESTS’, value = ‘10000’]"

PHP-versiebeheer inschakelen

De meeste door PHP ondersteunde toepassingen zijn afhankelijk van kenmerken of functies die alleen voor bepaalde PHP-versies beschikbaar zijn. Om ervoor te zorgen dat die specifieke server deze applicatietypen host, moeten verschillende versies van de PHP worden ingeschakeld en moeten ze er tegelijkertijd mee draaien. Het uitvoeren van meerdere PHP-versies op diezelfde webserver wordt volledig ondersteund door de handler voor IIS FastCGI.

Een voorbeeld is wanneer u plannen heeft om PHP 5.2.5, 5.2.1 en 4.4.8 te integreren, allemaal als niet-thread-safe op de webserver die u bezit. U moet eerst op het bestandssysteem en in verschillende mappen de equivalente PHP-binaries invoegen om die specifieke configuratie mogelijk te maken. (bijvoorbeeld C: \ php525 \, C: \ php521 en C: \ php448 \ nts). En daarna moet u voor elke versie verschillende procespools maken voor FastCGI-toepassingen.

consoleCopy

C:>% windir% system32inetsrvappcmd set config /section:system.webServer/fastCGI /+%fullPath=’c:php525ntsphp-cgi.exe ‘]

C:>% windir% system32inetsrvappcmd set config /section:system.webServer/fastCGI /+%fullPath=’c:php521php-cgi.exe ‘]

C:>% windir% system32inetsrvappcmd set config /section:system.webServer/fastCGI /+%fullPath=’c:php448php.exe ‘]

In een situatie waarin u drie websites “site 1”, “site 2” en “site 3” heeft en voor elke site een aparte versie van PHP moet worden gebruikt. U kunt vervolgens definities maken van de handlertoewijzingen op elk van de sites om een ​​verwijzing te maken naar een overeenkomstige procespool voor de FastCGI-app.

Let goed op dat dit voor elk van de procespools geldt

voor FastCGI wordt een unieke identiteit gecreëerd door het combineren van argument en fullPath eigenschappen.

C:>% windir% system32inetsrvappcmd set config site1 -sectie: system.webServer / handlers /+"..[naam = ‘PHP448_via_FastCGI’, pad = ‘*. php’, werkwoord = ‘*’, modules = ‘FastCgiModule’, scriptProcessor = ‘c: php448php.exe’, resourceType = ‘Either’)

C:>% windir% system32inetsrvappcmd set config site2 -sectie: system.webServer / handlers /+"..[naam = ‘PHP521_via_FastCGI’, pad = ‘*. php’, werkwoord = ‘*’, modules = ‘FastCgiModule’, scriptProcessor = ‘c: php521php-cgi.exe’, resourceType = ‘Either’)]

C:>% windir% system32inetsrvappcmd set config site3 -sectie: system.webServer / handlers /+"..[naam = ‘PHP525nts_via_FastCGI’, pad = ‘*. php’, werkwoord = ‘*’, modules = ‘FastCgiModule’, scriptProcessor = ‘c: php525ntsphp-cgi.exe’, resourceType = ‘Either’)]

PHP-beveiligingsaanbevelingen

Om ervoor te zorgen dat je bij het installeren van PHP een strakke beveiliging hebt, zouden de onderstaande instellingen een zeer grote hulp zijn. De eerste stap om dit te doen is om het php.ini-bestand te vinden en erop te klikken, en vervolgens de instellingen voor configuraties te bewerken zoals hieronder vermeld.

allow_url_fopen = Uit allow_url_include = Uit

Deze instelling wordt gebruikt om externe URL’s uit te schakelen die worden gebruikt voor functies van bestandsverwerking, wat kwetsbaarheden kan veroorzaken bij het injecteren van code.

register_globals = Uit

De instelling wordt gebruikt om register_globals uit te schakelen

open_basedir ="c: inetpub"

De instelling wordt gebruikt om de gebieden te beperken die kunnen worden geschreven en gelezen door PHP-processen op een bestandssysteem.

safe_mode = Uit safe_mode_gid = Uit
De instelling wordt gebruikt om de veilige modus uit te schakelen.
max_execution_time = 30 max_input_time = 60
De instelling wordt gebruikt om de tijd voor het uitvoeren van scripts te beperken
memory_limit = 16M upload_max_filesize = 2M post_max_size = 8M max_input_nesting_levels = 64

Deze instelling wordt gebruikt om het geheugengebruik en de bestandsgrootte te beperken

display_errors = Uit log_errors = Aan error_log ="C: pad van je keuze"

Deze instelling wordt gebruikt om logboek- en foutmeldingen te configureren

fastcgi.logging = 0

Deze instelling zou ervoor zorgen dat de IIS FastCGI-module elk verzoek mislukt wanneer PHP gegevens op stderr verzendt met behulp van het protocol van FastCGI. Het schakelt ook FastCGI-logging uit, waardoor wordt voorkomen dat PHP foutinformatie over stderr kan verzenden en 500 responscodes voor de client kan genereren.

expose_php = Uit

Deze instelling wordt gebruikt om de aanwezigheid van PHP te verbergen.

Conclusie

Daar heb je het, alle tips en stappen die je zullen helpen om de Fastcgi-module en PHP te configureren voor het hosten van PHP-applicaties op IIS 7 en hoger. Je zou de actie moeten kunnen uitvoeren als je de stappen in dit artikel tot het einde hebt gevolgd. Als u echter langs de lijn wordt gevuld, kunt u een opmerking achterlaten om hulp te krijgen van het lid van de gemeenschap

Bekijk deze top 3 beste webhostingservices

FastComet

Beginprijs:
$ 2,95


Betrouwbaarheid
9.7


Prijzen
9.5


Gebruikersvriendelijk
9.7


Ondersteuning
9.7


Kenmerken
9.6

Lees recensies

Bezoek FastComet

A2-hosting

Beginprijs:
$ 3,92


Betrouwbaarheid
9.3


Prijzen
9.0


Gebruikersvriendelijk
9.3


Ondersteuning
9.3


Kenmerken
9.3

Lees recensies

Bezoek A2 Hosting

ChemiCloud

Beginprijs:
$ 2,76


Betrouwbaarheid
10


Prijzen
9,9


Gebruikersvriendelijk
9,9


Ondersteuning
10


Kenmerken
9,9

Lees recensies

Bezoek ChemiCloud

Gerelateerde How-To-artikelen

  • Hoe FastCGI te gebruiken om PHP-applicaties op IIS 7 te hosten
    gemiddeld
  • MySQL installeren en configureren voor PHP-toepassingen op Windows IIS 7
    gemiddeld
  • MySQL installeren op een Windows-webserver met Apache
    Nieuweling
  • PHP Composer installeren op een CentOS 7 VPS of dedicated server
    gemiddeld
  • Hoe alle gebruikers in WordPress tegelijk uit te loggen
    gemiddeld
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me