Windows Server 2008 a PHP

Začneme asi tím, na co se většina PHP programátorů zeptá hned na začátku: Proč používat Windows Server 2008 a IIS 7 pro hostování PHP aplikací? Odpovědí bude více.
  1. Mohu kombinovat to nejlepší z PHP a .NET Framework – díky modulární stavbě IIS 7.0 serveru mohu například do existující PHP aplikace přidat .NET modul, který se bude starat o ověření uživatele proti Windows doméně.
  2. Nové obchodní příležitosti – pokud má zákazník již existující síťovou infrastrukturu postavenou na platformě Microsoft Windows, bude ji chtít využít. Namísto toho, aby do ní přidával další prvky, na které nemá administrátory.
  3. Jako databázový server mohu použít Microsoft SQL Server 2008 – databázový ovladač SQL Server 2005/2008 pro PHP je postaven na nativním ovladači SQL Client. Také můžete využít i jiných služeb, než je databázové jádro, např. Reporting Services pro generování tiskových sestav.
  4. Převážná většina PHP programátorů programuje na Microsoft Windows – není proto problém ladit aplikace přímo v prostředí, kde budou nasazeny. IIS 7 je součástí Windows Vista i připravovaných Windows 7.
  5. Snadný vývoj modulů pro IIS 7 – moduly pro IIS 7 mohou být postaveny na .NET Framework, což výrazně usnadňuje jejich vývoj a bezpečnost díky managed kódu.
  6. Snadná administrace pomocí Windows PowerShell – jak Windows Server 2008, tak IIS 7 jsou připraveny pro automatizovanou i vzdálenou správu pomocí Windows PowerShell.
  7. Přenositelnost konfigurace IIS 7 – pokud potřebujete identicky zkonfigurovat dva IIS 7, můžete je nastavit tak, aby používaly stejný konfigurační soubor umístěný ve sdíleném datovém úložišti.
  8. Každá aplikace na IIS 7 může běžet ve svém bezpečnostním kontextu – pomocí Application Pools lze od sebe oddělit jednotlivé aplikace, aby pád jedné neovlivnil chod ostatních. To je zejména důležité u hostování aplikací třetích stran.
  9. Vysoká bezpečnost IIS 7 – statistiku chyb IIS 7 si můžete sami prohlédnout na http://secunia.com/advisories/product/17543/?task=statistics a případně porovnat s jinými webovými servery.

Zprovoznění PHP na IIS 7

Podpora PHP, tedy modul FastCGI, je standardní součástí IIS 7 na Windows Serveru 2008, Windows Vistě SP1 a Windows 7. Stačí zapnout podporu CGI pro IIS.

Windows Vista, Windows 7: Start – Ovládací panely – Programy – Zapnout nebo vypnout funkce systému Windows.

Windows Server 2008: Povolit roli Web Serveru (IIS)

WS.png

Dále je třeba stáhnout poslední Non-thread-safe verzi PHP pro Windows a rozbalit ji do libovolného adresáře. Pokud ji rozbalíte jinam než do c:\php, bude třeba upravit php.ini. Nyní můžeme přistoupit ke konfiguraci IIS 7. U aplikace, kde potřebujete podporu PHP, je třeba přidat mapování přípony php na modul FastCGI a interpret PHP. To můžete udělat pomocí konzoly pro správu IIS 7 nebo úpravou souboru web.config příslušné aplikace.

WS1.png

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="PHP" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\php\php-cgi.exe" resourceType="Unspecified" />
    </handlers>
  </system.webServer>
</configuration>

SQL Server 2008 a PHP

Postup instalace a konfigurace SQL Serveru 2008 si můžete prohlédnout na výukovém videu. Ovladač SQL Serveru 2005/2008 pro PHP najdete zde. I když je v názvu uveden SQL Server 2005, ovladač funguje i s SQL Serverem 2008 a pro připojení se používá SQL Native Client. Instalace obsahuje dvě knihovny ovladače (php_sqlsrv.dll /non-thread safe/, php_sqlsrv_ts.dll /tread safe/) a dokumentaci. Knihovny nakopírujte k ostatním knihovnám PHP, typicky adresář ext v instalačním adresáři PHP a příslušnou verzi knihovny přidáte do php.ini.

Další užitečné informace najdete zde.

Štěpán Bechynský,
Developer Evangelist, Microsoft
Diskuze (24) Další článek: Nové Atomy – šetřílek s 0,65 W a 2 GHz „rychlík“

Témata článku: , , , , , , , , ,