Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Microsoft IIS

Was die Quellen von Exponential über Windows-Hosting mit Microsoft IIS und FastCGI-PHP sagen - der Status, was der Kernel erkennt, was Windows fehlt, das in web.config nachzubildende Routing und die Tests, bevor Sie es…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/hosting/servers/iis.md

On this page

This page is a translation. Read the English original

Microsoft IIS

Diese Seite ist für Hosting-Unternehmen, die Windows-Hosting anbieten und wissen wollen, ob Exponential Teil davon sein kann. Sie beantwortet: was die Quellen über IIS sagen, was unter Windows anders funktioniert, welches Routing eine IIS-Website nachbilden muss und was Sie testen. Die eigenen Verwaltungswerkzeuge von IIS werden hier nicht beschrieben; sehen Sie dafür in der Dokumentation von Microsoft nach.

Warnung .htaccess bremst jede Anfrage. Sind .htaccess-Dateien erlaubt (AllowOverride alles außer None), geschweige denn genutzt, sucht Apache sie bei jeder Anfrage in jedem Verzeichnis des Pfads und liest und wertet sie aus, und die Ladezeiten der Seiten steigen drastisch (gemessen). Die einzige wirkliche Abhilfe ist, die Funktion für den virtuellen Host abzuschalten: AllowOverride None im virtuellen HTTPS-Host, und die Regeln in der Konfiguration des virtuellen Hosts selbst als mod_rewrite-Regeln. Das ist in Geschwindigkeitstests im Produktivbetrieb weit schneller und die Zeit für die Optimierung einer Produktivkonfiguration unbedingt wert. Stellen Sie sofort um: Übernehmen Sie die Regeln des Beispiels für einen virtuellen HTTPS-Host in Ihren virtuellen Host (mit dem statischen Cache auch staticcache_offload.conf), setzen Sie AllowOverride None, führen Sie apachectl configtest aus, laden Sie Apache neu und testen Sie die Website. Dieselben Regeln für andere Server: nginx, LiteSpeed, Caddy, IIS, Velocity (eingebaut); wohin Regeln für virtuelle Hosts in einem Control Panel gehören: Plesk, cPanel, DirectAdmin, ISPConfig. Unter LiteSpeed oder OpenLiteSpeed kann zusätzlich der Seiten-Cache des Servers anonyme Besucher und Crawler ohne PHP bedienen: Seiten-Caching mit LiteSpeed und OpenLiteSpeed.

Inhalt

  1. Status
  2. Was Windows ändert
  3. Was der Kernel über IIS weiß
  4. Nachzubildendes Routing
  5. Tests, bevor Sie es anbieten
  6. Alternativen auf Windows-Maschinen
  7. Checkliste

Status

QuelleAussage
README.md, Abschnitt „The traditional options“Microsoft IIS schreibt mit dem URL Rewrite Module (web.config) um, für Windows-Hosting
Unterstützung von Betriebssystemen, WebserverMicrosoft IIS mit FastCGI: Stufe 3; das Modul URL Rewrite (web.config); die Anfragebehandlung des Kernels hat Tests für Servervariablen von IIS 7
Unterstützung von Betriebssystemen, PHP-SAPIsCGI / FastCGI (cgi-fcgi) ist die SAPI für IIS unter Windows
Unterstützung von Betriebssystemen, Windowsnutzen Sie die offiziellen PHP-8-Builds für Windows (x64, nicht threadsicher für FastCGI) mit Apache oder IIS

Mit Exponential wird keine web.config ausgeliefert. Stufe 3 bedeutet: sollte funktionieren, hier nicht getestet (Die vier Stufen).

Was Windows ändert

Aus Unterstützung von Betriebssystemen, Windows:

  • pcntl und posix gibt es unter Windows nicht. Asynchrones Veröffentlichen (bin/php/ezasynchronouspublisher.php) ist nicht verfügbar.
  • Velocity führt seine Worker unter Windows als Unterprozesse php-cgi aus, ohne gemeinsame Nutzung von Speicher durch Copy-on-Write. Seine Windows-Binärdateien in einer Datei werden ohne intl gebaut, das die Einrichtung von Exponential verlangt; betreiben Sie Velocity unter Windows über das Phar mit dem offiziellen PHP statt über seine Binärdatei (sollte funktionieren, ist aber laut den eigenen Plattformhinweisen der Engine ungetestet).
  • Die Dokumentation und die Shell-Befehle in dieser Hilfe sind für Linux geschrieben; übertragen Sie Pfade und Berechtigungen.
  • Der Setup-Assistent sucht ImageMagick auch unter Windows-Namen (convertim.exe, convert.exe, in settings/setup.ini).

Hinweis Für einen Hoster ist die praktische Folge, dass sich ein Windows-Tarif wie ein klassischer FastCGI-Tarif verhält: kein Worker-Pool von Velocity mit gemeinsamem Speicher, kein asynchrones Veröffentlichen. Nennen Sie das in der Tarifbeschreibung.

Was der Kernel über IIS weiß

  • eZSys (in lib/ezutils/classes/ezsys.php) erkennt umgeschriebene Anfragen von IIS an der Servervariablen IIS_WasUrlRewritten und arbeitet dann im Modus mit virtuellem Host, wie im .htaccess-Modus von Apache. Eine Website kann diesen Modus auch mit site.ini [SiteAccessSettings] ForceVirtualHost=true erzwingen.
  • Die Testdaten der Servervariablen in den Tests des Kernels enthalten IIS 7 und IIS 7.5 mit FastCGI (tests/tests/lib/ezutils/server/), im Modus mit und ohne virtuellen Host.

Diese Testdaten wurden mit alten PHP-Versionen aufgezeichnet; sie decken ab, wie IIS seine Variablen meldet, nicht ein aktuelles IIS mit PHP 8. Testen Sie Ihren eigenen Stack.

Nachzubildendes Routing

IIS liest .htaccess nie, exp:setup:htaccess schützt eine IIS-Website also nicht (.htaccess und config.php von der Konsole einrichten). Welchen Regelsatz Sie für IIS auch schreiben, er muss tun, was .htaccess_root tut (Kapitel 8, Wie eine Anfrage ausgeliefert wird):

AnfrageMuss gehen an
eine Datei oder ein Verzeichnis mit Punkt (.git, .env, .htaccess), außer .well-known404
eine vorhandene .php, .phtml oder .phar unterhalb der Wurzel404
/api/...index_rest.php
/content/treemenu..., /<siteaccess>/content/treemenu...index_treemenu.php
ein aufgeführter Asset-Pfad (Stylesheets, Bilder, Skripte und Schriften von Designs und Erweiterungen; var/*/storage/images; Originalbilder; gespeicherte PDF-Exporte; öffentliche Caches; share/icons; die Icon-Themes der Erweiterungen, extension/<name>/icons/, Bilder mit genau einer Dateiendung; Paketvorschauen; favicon.ico, robots.txt, index.js, sw.js, w3c/p3p.xml)als Datei gesendet
alles andereindex.php

Die regulären Ausdrücke jeder Zeile stehen in .htaccess_root und, für die Asset-Liste, in expVelocity::STATIC_PATHS (kernel/classes/expvelocity.php). Der abgeleitete nginx-Block auf nginx mit PHP-FPM zeigt dieselbe Liste bereits einmal übersetzt.

Warnung Behalten Sie die Reihenfolge bei: die Regeln für Dateien mit Punkt und für Skripte zuerst, die Auffangregel zuletzt. Eine Auffangregel an erster Stelle oder eine Asset-Regel, die .php trifft, kann Dateien ausführen oder preisgeben.

Tests, bevor Sie es anbieten

Führen Sie die vier Prüfungen des Routings aus Webserver und Engines aus, dann:

  • Die Startseite, eine Inhaltsseite, /user/login und die Administration antworten.
  • Ein hochgeladenes Bild wird angezeigt, und eine hochgeladene Datei lässt sich über content/download herunterladen.
  • Die geplante Aufgabe, die runcronjobs.php ausführt, funktioniert mit dem PHP der Kommandozeile (Cronjobs).
  • PHP für Web und Kommandozeile hat dieselbe Version mit denselben Erweiterungen (Kapitel 2, PHP für Kommandozeile und Web).
  • 64-Bit-PHP: 32-Bit-PHP beschränkt eine Website auf 30 Sprachen (Unterstützung von Betriebssystemen).

Alternativen auf Windows-Maschinen

  • Apache mit FastCGI-PHP unter Windows: Die mitgelieferte .htaccess_root gilt direkt (kopiert mit php bin/php/console exp:setup:htaccess --apply).
  • WSL2 führt die Linux-Stufen aus und ist der einfachere Weg für die Entwicklung unter Windows.
  • Eine virtuelle Linux-Maschine oder ein Container auf dem Windows-Host, wenn sich der Tarif so bauen lässt (Container, Docker und Podman).

Checkliste

  • To do: Offizieller nicht threadsicherer PHP-8-Build für x64 mit FastCGI; intl und die anderen erforderlichen Erweiterungen vorhanden.
  • To do: Ein Regelsatz, der die Routing-Tabelle oben nachbildet, mit den Prüfungen des Routings getestet.
  • To do: Die Tarifbeschreibung nennt, dass der Worker-Pool von Velocity und asynchrones Veröffentlichen nicht dazugehören.
  • To do: Geplante Aufgaben für Cronjobs eingerichtet und getestet.
  • To do: Vor dem Verkauf auf Staging getestet (Stufe 3).

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x