3 min read

Web Platform Yükleyicisi Kullanmadan PHP’yi IIS Üzerinde Çalıştırma

Web Platform Yükleyicisi Kullanmadan PHP’yi IIS Üzerinde Çalıştırma
Photo by KOBU Agency / Unsplash

Microsoft’un sunduğu Web Platformu Yükleyicisi 31 Aralık 2022 tarihinde artık kullanıma kapandı. Kullanıma kapanması artık bilgisayarlarımızda localhost üzerinden php dosyalarımızı çalıştırmamızı zorlaştırdı. Ben de zar zor yüklemeyi başardım ve daha önce deneyip yükleyemeyenlere yardımcı olması açısından bu makaleyi paylaşmaya karar verdim. Umarım işinize yarar. 😊

Web Platformu Yükleyicisi kullanmadan IIS üzerinde PHP çalıştırmak için aşağıdaki adımları izleyebilirsiniz:

Öncelikle Windows arama bölümüne “Windows özelliklerini aç kapa” yazarak çıkan uygulamayı açınız. Ve buradan “Internet Information Services” kısmının yanındaki “+” simgesine tıklayınız.

Buradan diğer özelliklerinde yanındaki “+” simgelerine basarak gerek ASP/ASPX kod uyumluluğu ayarlarını düzenleyiniz.
  • ASP/ASPX seçeneğini göremiyorsanız, Windows Özelliklerini Aç veya Kapa penceresinde Internet Information Services altında World Wide Web Hizmetleri’ni genişletiniz. Ardından Uygulama Geliştirme Özellikleri’ni genişletiniz. Burada ASP.NET ve ASP seçeneklerini işaretleyiniz. Bu şekilde ASP/ASPX kod uyumluluğu ayarlarını yapmış olursunuz.
En son olarak alt kısımdaki Tamam’a basarak kaydediniz.

Ardından PHP ve MySQL Windows sürümlerini indirip kurunuz. Bu işlemi yaparken PHP’nin IIS ile uyumlu olması için gerekli ayarları yapmanız gerekebilir.
  • Windows için PHP → https://windows.php.net/download#php-8.2 (VS16 x64 Thread Safe kısmındaki zip dosyasını indirebilirsiniz.)
  • Windows için MySQL → https://dev.mysql.com/downloads/installer/
  • PHP’nin IIS ile uyumlu olması için yapmanız gereken ayarlar şunlardır:
  • PHP ve MySQL Windows sürümlerini indirdikten sonra PHP’nin olduğu klasör içinde php.ini-production isimli dosyayı php.ini olarak adlandırınız.
  • Ardından php.ini dosyasını açıp en sona aşağıdaki satırları ekleyiniz. Bu satırlarda gerekli fastCGI ayarları ve en gerekli extensionlar bulunmaktadır.

[WebPIChanges]
error_log = C:\Windows\temp\PHP824x64_errors.log // PHP824 kısmı benim PHP versiyonum 8.2.4 olduğu için o şekilde ayarlandı lütfen siz kendinize göre değiştirin.
cgi.force_redirect = 0
cgi.fix_pathinfo = 1
fastcgi.impersonate = 1
fastcgi.logging = 0
max_execution_time=300
date.timezone = Europe/Istanbul
extension_dir = "C:\php-8.2.4\ext\" // C:\php-8.2.4 kısmına kendi PHP dosyanızın kurulu olduğu yolu koymalısınız.[ExtensionList]
extension=php_mysqli.dll
extension=php_mbstring.dll
extension=php_gettext.dll
extension=php_curl.dll
extension=php_exif.dll
extension=php_openssl.dll
extension=php_soap.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
extension=php_imap.dll
extension=php_tidy.dll
extension=php_fileinfo.dll

  • IIS Manager’da Handler Mappings’e gelip sağ taraftaki Add Module Mapping seçeneğine tıklayınız. Aşağıdaki şekilde giriş yapınız.

Request path: *.php

Module: FastCgiModule

Executable: C:\php-8.2.4\php-cgi.exe // C:\php-8.2.4 kısmına kendi PHP dosyanızın kurulu olduğu yolu koymalısınız.

Name: PHP_via_FastCGI

  • Eğer bu kısmı eklerken “’FastCgiModule’ tanınan yerel bir modül değil. En az bir tane etkinleştirilmiş yerel modül belirtin.” şeklinde bir hata alırsanız,
  • Windows Özelliklerini Aç veya Kapa penceresinde Internet Information Services altında World Wide Web Hizmetleri’ni genişletiniz. Ardından Uygulama Geliştirme Özellikleri’ni genişletiniz. Burada CGI seçeneğini işaretleyiniz. Daha sonra IIS Manager’ı sağ bölümden restart ediniz.
  • Son olarak Default Document bölümünden index.php dosyasını ekleyiniz. Ardından IIS’i restart ediniz.
Kurulumlar bittikten sonra Windows’un kurulu olduğu diskte “inethub” adında bir klasör oluşacaktır, bunun içindeki wwwroot klasöründeki dosyaları silerek kendi PHP web site dosyalarınızı atabilirsiniz.

Web tarayıcınızda
http://localhost/dosyaadi.php adresine giderek PHP kodlarınızın çalıştığını görebilirsiniz.

Bu makale Microsoft Bing AI tarafından hazırlanmış ve benim tarafımdan da düzenlenmiştir. 😄