• Windows işletim sisteminin eski sürümlerine kurulum. Windows XP Manuel Kurulum Kılavuzuna Apache, PHP, MySQL ve phpMyAdmin Kurulumu

    Bu makale, PHP'yi Windows'ta Apache HTTP Sunucusu ile çalışacak şekilde yüklemek için adım adım bir kılavuz sağlar. Bu prosedür hem Windows XP hem de Vista'da test edilmiştir. Apache kurulumunu zaten tamamladığınız varsayılmaktadır.

    PHP 5 yapılandırma adımları

    1. PHP 5'i indirin

    Başlamadan önce, adresinden PHP 5'in bir kopyasını indirin. indirme sayfaları. Güvenli VC6 paketini "Windows Binaries" bölümünden indirin - yani yükleyiciyi indirmeyin. Örneğin, " işaretli paketi seçin. PHP 5.2.5 zip paketi", geçerli sürüm 5.2.5 ise.

    Not: Lütfen aşağıdaki prosedürü PHP 5.3 sürümleriyle test etmediğimi, yalnızca bu yazının yazıldığı sırada en son sürüm olan 5.2.5 ile test ettiğimi unutmayın. Teorik olarak, PHP 7'yi kurmak için de aynı adımlar izlenmelidir.

    2. PHP 5'i yükleyin

    Sabit sürücünüzde bir PHP klasörü oluşturun. Farklı bir klasör adı ve konumu kullanabilmenize rağmen c:php öneririm. Şahsen, boşluklu adları kullanmamayı tercih ederim.

    İndirilen arşivdeki tüm dosyaları bu klasöre çıkarın. Bunu yapmak için zip dosyasına çift tıklamanız yeterlidir. Ardından tüm dosyaları c:php klasörüne sürükleyip bırakın.

    3. Paketi yükseltenler için: Eski PHP.INI dosyasını Windows dizininden silin

    Daha eski bir sürümden PHP 5'e yükseltme yapıyorsanız, Windows dizinine geçin, ( genellikle c: windows) ve oraya daha önce yerleştirdiğiniz tüm php.ini dosyalarını silin.

    4. PHP kurulumu

    c:php klasörüne gidin ve php.ini tarafından önerilen dosyanın bir kopyasını oluşturun. Yeni dosyayı php.ini olarak adlandırın. Artık c:phpphp.ini-recommended ile aynı içeriğe sahip bir c:phpphp.in dosyanız olmalıdır.

    Not. Apache 1 kullanıyorsanız, ya php.ini dosyasını Windows dizinine taşımanız gerekir ( c:pencereler) veya PATH ortam değişkeninizi c:php içerecek şekilde ayarlayın. Bunu nasıl yapacağınızı bilmiyorsanız, php.ini dosyasını c:windows klasörüne taşımanız yeterlidir. Apache 2 kullanıyorsanız bunu yapmanız gerekmez, çünkü daha sonra Apache 2 yapılandırma dosyasında php.ini dosyasının konumuyla birlikte bir yönerge belirleyeceğiz.

    PHP'yi Windows 7'ye bir metin düzenleyici kullanarak yüklemek için ( örneğin, Başlat menüsünün "Sistem Araçları" bölümünde bulunan Not Defteri gibi)? php.ini dosyasını açın. Dosyada aşağıdaki değişiklikleri yapmanız gerekebilir:

    a) Kısa açılış etiketleri dahil

    Aşağıdaki satırı bulun:

    short_open_tag = Kapalı

    short_open_tag kapalı olarak ayarlanırsa, " gibi etiketler

    Çünkü birçok üçüncü taraf PHP betiği " biçimini kullanır.

    short_open_tag = Açık

    b) Sihirli alıntılar

    Apache PHP'yi varsayılan olarak kurarken, gelen veriler otomatik olarak eğik çizgi ile kaçmaz. Girişin önüne bir ters eğik çizgi ("") eklenmesini istiyorsanız, örneğin barındırma ayarlarını yeniden oluşturmak için, aşağıdaki satırı arayın:

    magic_quotes_gpc = Kapalı

    ve şununla değiştirin:

    magic_quotes_gpc = Açık

    Barındırmada bu parametre ayarlanmamışsa bunu yapmanız önerilmez. Kapalı olarak ayarlandığında bile, PHP işlevi kirpikleri ekler () belirli veri parçaları için eğik çizgiler eklemek için.

    c) Genel değişkenleri kullanma

    Bazı eski betikler yürütüldüğünde, tüm form gönderimlerinin otomatik olarak aynı ada sahip bir PHP değişkenine sahip olacağını varsayar. Örneğin, bir formun "bir şey" adında bir girdi alanı varsa, eski PHP betikleri, PHP işlemcisinin otomatik olarak o alan aracılığıyla verilen değeri içeren $bir şey adlı bir değişken yaratacağını varsayar.

    Bu tür komut dosyaları kullanıyorsanız, aşağıdaki satırı bulmanız gerekir:

    register_globals = Kapalı

    ve şu şekilde değiştirin:

    register_globals = Açık

    Uyarı: PHP'yi Windows'a kurarken, çalışmasını gerektiren üçüncü taraf komut dosyalarınız yoksa bunu yapmayın. Yeni betikler yazarken, her zaman register_globals öğesinin " olarak ayarlandığını varsaymak en iyisidir. Kapalı«.

    d) Hata ekranı

    Canlı bir sitede, betik hataları genellikle PHP hata dosyasında görünmeden günlüğe kaydedilir. Ancak yerel bir makinede, PHP betiğinizi test ederken ve hatalarını ayıklarken, hata mesajlarıyla karşılaştığınızda bunları doğrudan tarayıcı pencerenize göndermek daha uygundur. Bu şekilde, hata günlüğü dosyasını kontrol etmeyi unutsanız bile hataları kaçırmazsınız.

    PHP'nin hata mesajlarını doğrudan tarayıcı penceresinde görüntülemesini sağlamak için aşağıdaki satırı arayın:

    display_errors = Kapalı

    ve şu şekilde değiştirin:

    display_errors = Açık

    Canlı bir sitede bu ayar her zaman Kapalı olarak ayarlanmalıdır.

    e) Oturum Yolu

    Komut dosyası oturumları kullanıyorsa, aşağıdaki satırı arayın:

    ;session.save_path = "/tmp"

    session.save_path, PHP'nin oturum dosyalarını kaydettiği klasörü belirtir. Windows'ta /tmp klasörü bulunmadığından, başka bir klasörün ayarlanması gerekir. Bunun bir yolu, c:tmp () adlı bir klasör oluşturmaktır. daha önce c:php'yi oluşturduğumuz gibi) ve bu parametre için bu klasörü belirtin. Bunu yaparsanız, bu satırı aşağıdaki gibi değiştirin:

    session.save_path = "c:tmp"

    Yolu değiştirmenin yanı sıra, dizeden noktalı virgül (";") önekini de kaldırdığıma dikkat edin.

    Bilgisayarınızdaki mevcut TEMP klasörünü de kullanabilirsiniz. Veya PHP dizininde c:phptmp gibi bir tmp klasörü oluşturun ve yapılandırma dosyasını buna göre ayarlayın. Birçok olası seçenek olabilir. Hangisini seçeceğinize karar veremiyorsanız c:php dosyasını oluşturun ve yukarıda dediğimi yapın.

    f) SMTP sunucusu

    PHP 5 5'i kurarken, komut dosyası mail() işlevini kullanıyorsa ve işlevin yerel makineye başarılı bir şekilde posta göndermesini istiyorsanız, aşağıdaki bölüme bakın:

    ; Yalnızca Win32 için. SMTP=yerel ana bilgisayar smtp_port=25 ; Yalnızca Win32 için. ;sendmail_from= [e-posta korumalı]

    SMTP sunucu adresinizi ve e-posta hesabınızı içerecek şekilde değiştirin. Örneğin, eğer SMTP sunucusu mail.example.com ve e-posta adresi [e-posta korumalı], kodu şu şekilde değiştirin:

    smtp=mail.example.com smtp_port=25 sendmail_from= [e-posta korumalı]

    Bundan sonra, komut dosyası mail() işlevini kullanmaya çalıştığında, başarılı bir şekilde çalışması için ISP'nize bağlanması gerekeceğini unutmayın. Yukarıdaki satırları değiştirmez ve komut dosyasında mail() işlevini kullanmayı denerseniz, işlev bir hata kodu döndürür ve bir hata mesajı görüntüler.

    PHP 5 için Apache nasıl kurulur

    Apache PHP'yi kurmanın iki yolu vardır. İlk önce: önyüklemeye ayarlayın php tercümanı bir Apache modülü olarak. İkincisi: yorumlayıcıyı ikili bir CGI olarak çalıştıracak şekilde yapılandırın. Bunlardan sadece birini kullanmanız yeterli. PHP ayrıca ana bilgisayara bir Apache modülü olarak kuruluysa modül yöntemini seçin veya ana bilgisayarda uygulanmışsa CGI yöntemini kullanın.

    a) PHP 5'i bir Apache modülü olarak çalıştırmak

    Apache'yi PHP betik ayrıştırıcısı olarak PHP'yi yükleyecek şekilde yapılandırmak için, Apache yapılandırma dosyası olan httpd.conf'u açmak üzere bir ASCII metin düzenleyicisi kullanın.

    Apache 1.x kullanıyorsanız, dosya klasörün içindedir. c:Program DosyalarıApache GroupApacheconf. Apache 2.0.x kullanıcıları onu klasörde bulabilir C:Program DosyalarıApache GroupApache2conf ve klasördeki Apache 2.2.x kullanıcıları C:Program DosyalarıApache Software FoundationApache2.2conf. Genellikle Apache'nin kurulu olduğu dizinin conf klasöründe bulunur.

    Dosyanın LoadModule deyimlerini içeren bölümünü bulun. Başında "#" karma simgesi bulunan bildirimler, yorumlanmamış kabul edilir.

    Apache 1.x kullanıyorsanız, tüm LoadModule ifadelerinden sonra aşağıdaki satırı ekleyin:

    LoadModule php5_module "c:/php/php5apache.dll"

    Apache 2.0.x kullanıyorsanız, tüm LoadModule ifadelerinden sonra aşağıdaki satırı ekleyin:

    LoadModule php5_module "c:/php/php5apache2.dll"

    Apache 2.2.x kullanıyorsanız, aşağıdaki satırı ekleyin:

    LoadModule php5_module "c:/php/php5apache2_2.dll"

    Bu PHP kurulum örneğinin, geleneksel Windows ters eğik çizgi ("") yerine eğik çizgi karakterini ("/") kullandığını unutmayın. Bu bir yazım hatası değil.

    Apache 1.x kullanıyorsanız, "AddModule" ifade serisini bulun ve tüm satırlardan sonra aşağıdakileri ekleyin.

    AddModule mod_php5.c

    Ardından dosyada AddType bloğunu bulun ve son AddType deyiminden sonra aşağıdaki satırı ekleyin. Bu, kullandığınız Apache sürümünden bağımsız olarak yapılmalıdır. Apache 2.2.x için AddType satırlarını bölümünde bulmanız gerekir. . Kapanıştan hemen önce bir satır ekleyinbu bölüm için

    ".phtml" gibi diğer dosya türleri için desteğe ihtiyacınız varsa, bunları şu şekilde listeye ekleyin:

    Apache 2 sürümlerinden birini kullananlar için, PHP ini dosyasının konumunu belirtmeniz gerekir. Aşağıdaki satırı httpd.conf dosyasının sonuna ekleyin.

    PHPIniDir "c:/php"

    Farklı bir dizin kullandıysanız, c:/php'yi doğru yola değiştirmeniz gerekecektir. Eğik çizgi ("/") kullanmayı unutmayın.

    Apache 1 kullanıyorsanız, php.ini dosyasını zaten Windows klasörüne veya PATH içinde bir yere yerleştirmişsinizdir. Yani PHP onu kendi başına bulmak zorunda kalacak.

    PHP 5'i CGI Binary Olarak Çalıştırma

    PHP 5'i bir Apache modülü olarak yüklenecek şekilde yapılandırdıysanız, bu bölümü atlayabilirsiniz. PHP'yi bir CGI ikili dosyası olarak çalışacak şekilde yapılandırmak isteyenler için tasarlanmıştır.

    PHP 7'yi kurarken bunu yapma prosedürü, Apache 1.x ve 2.x serisinin tüm sürümleri için aynıdır.

    Apache yapılandırma dosyasının ScriptAlias ​​​​bölümünü içeren bölümünü bulun. " için ScriptAlias ​​​​satırından hemen sonra aşağıdaki satırı ekleyin. cgi kutusu". Apache 2.2.x kullanıyorsanız, satırı kapatmadan önce bulunduğundan emin olun.bölüm için .

    Not: PHP'yi c:Program Filesphp gibi farklı bir konuma yüklediyseniz, bunun yerine uygun yolu belirtmeniz gerekir. c:/php/ (ör. c:Program Dosyalarıphp). Burada Windows ters eğik çizgi ("") yerine basit bir eğik çizgi ("/") kullandığımızı unutmayın.

    ScriptAlias ​​​​/php/ "c:/php/"

    Apache'nin PHP MIME türünü yapılandırması gerekiyor. Kullanımını açıklayan AddType yorum bloğunu bulun ve altına aşağıdaki satırı ekleyin. Apache 2.2.x için, altındaki AddType satırlarını arayın. . Kapanıştan hemen önce aşağıdaki satırı ekleyin bu bölüm için

    AddType uygulaması/x-httpd-php .php

    PHP'yi bir Apache modülü olarak kurarken olduğu gibi, Apache'nin bunları PHP betikleri olarak tanımasını sağlamak için herhangi bir uzantı eklenebilir, örneğin:

    AddType uygulaması/x-httpd-php .phtml

    Daha sonra sunucuya, bir PHP betiğiyle her karşılaştığında PHP yürütülebilir dosyasını çalıştırmasını söylemeniz gerekir. Dosyaya aşağıdaki kodu ekleyin, örneğin, " aksiyon«.

    Apache 2.2.x kullanıyorsanız, yukarıdaki AddType ifadesinin hemen sonrasına kodu ekleyin; Apache 2.2.x'te yorum bloğu yok " aksiyon«.

    Eylem uygulaması/x-httpd-php "/php/php-cgi.exe"

    Not: "/php/" bölümü, Apache tarafından "c:/php/" () olarak genişletilecek bir tür makro olan ScriptAlias ​​olarak tanınacaktır. veya PHP'yi oraya yüklediyseniz "c:/Program Files/php/"). Başka bir deyişle, "c:/php/php.exe" yolunu bu yönergeye koymayın veya "c:/Program Dosyaları/php/php.exe", ancak "/php/php-cgi.exe" kullanın.

    Apache 2.2.x kullanıyorsanız, httpd.conf dosyanızda aşağıdaki bölümü arayın:

    Yeni bulduğunuz bölümden hemen sonra aşağıdaki satırları ekleyin.

    İzin VerGeçersiz Kıl Yok Seçenek Yok Sırala izin ver, reddet Tümünden İzin Ver

    c) Varsayılan dizin sayfasının ayarlanması

    Bu bölüm, PHP'yi hem bir Apache modülü hem de bir CGI ikili dosyası olarak Windows'a yüklemek için geçerlidir.

    Bir index.php dosyası oluşturursanız ve Apache'nin bunu sitenin ana sayfası olarak yüklemesini istiyorsanız, httpd.conf dosyanıza bir satır daha eklemeniz gerekir. " ile başlayan satırı bulun. Dizin Dizini", ve Ekle " index.php» dosya listesine Örneğin, bu koda sahipseniz:

    DirectoryIndex index.html

    Apache_2.2.2-win32-x86-no_ssl.msi adlı yükleyici ile Apache2.2.2 dağıtımı. Bunu www.sai.msu.su/apache/dist/httpd/binaries/win32/ adresinde bulabilirsiniz.

    Yürütme için indirilen yükleyiciyi çalıştırın. Kurulum programı size Apache'yi nereye kuracağınızı sorduğunda, ona dizini verin. c:/Apache2.2

    Not

    Diğer tüm talimatlar, Apache'nin tam olarak c:/Apache2.2 dizinine kurulu olduğu varsayımına dayalı olacaktır. Apache'yi farklı bir dizine kuruyorsanız, talimatları durumunuza göre uyarlamalısınız.

    Apache'yi yükleyiciden yüklemek oldukça şeffaftır ve herhangi bir özel zorluğa neden olmaz, bu nedenle bu makalede tam açıklamasını vermek mantıklı değildir. İşte kullanıcının yükleme işlemi sırasında doldurması gereken yalnızca bir iletişim kutusu. Bu, sunucu adı seçim penceresidir. "Ağ Etki Alanı" ve "SunucuAdı" alanlarına, Apache'nin varsayılan olarak çalışacak şekilde yapılandırılacağı sunucunun adını yazın.


    Not

    Bu kılavuz, Apache sunucusunun yalnızca yerel site testi için kullanılacağı ve İntranetler ve İnternet üzerinde çalışmayacağı varsayımıyla nasıl kurulacağını açıklamaktadır. Sunucunun İntranet ve İnternette çalışabilmesi için sunucu tarafından kullanılacak gerçek bir alan adı girmelisiniz.

    Yükleme işlemi iyi gittiyse, tamamlandıktan sonra Apache2.2 zaten bir hizmet olarak çalışıyor olmalıdır. Durumun böyle olup olmadığını kontrol etmek için Windows hizmetleri listesini açın (" Başlat» | "Kontrol Paneli" | "Yönetim" | "Hizmetler") ve içindeki Apache2.2 satırını bulun. (veya Apaçi2). Hizmet durumu: çalışıyor veya değil, üçüncü sütunda görüntülenir.

    Servisler listesinde Apache2.2 satırını bulamıyorsanız, kurulum işlemi muhtemelen başarısız olmuştur ve Apache bir servis olarak kurulmamıştır. Bu durumda, Apache'yi bir hizmet olarak kendiniz kurmanız gerekir. Bunu yapmak için, FAR, WindowsCommander, TotalCommander, vb. gibi konsollu bir programa ihtiyacınız var.

    Programı konsol ile açın, c:/Apache2.2/bin dizinine gidin ve şu komutu çalıştırın:

    C:/Apache2.2/bin/httpd.exe -k kurulumu

    Yanıt olarak, bir mesaj almalısınız "Apache2 hizmeti başarıyla kuruldu". Konsol penceresinin görünümü şekilde gösterilmiştir.


    İlk başlangıç

    Apache yönetimi (başlat, durdur, yeniden başlat), Windows hizmetlerini yönetmek için grafik arabirim aracılığıyla veya konsolda httpd.exe dosyasını belirli tuşlarla çalıştırarak gerçekleştirilir.

    Windows hizmetleri, hizmet adına sağ tıklanarak açılan bağlam menüsü aracılığıyla yönetilir. Apache zaten çalışmıyorsa, bağlam menüsünden "Başlat" komutunu çalıştırın.


    Konsolda çalışmayı seviyorsanız, aşağıdaki tuşlar Apache'yi kontrol etmek için kullanılır.

    Konsol Üzerinden Apache Kontrol Komutları

    Httpd.exe -k başlat (Hizmeti başlat)
    httpd.exe -k durdur (hizmeti durdur)
    httpd.exe -k yeniden başlat (Yeniden başlat)


    Varsayılan olarak, sunucunun kök dizini şu dizine ayarlanmıştır: c:/Apache2.2/htdocs. Localhost adıyla görüntülenen index.html dosyasının bulunduğu yer burasıdır. Yönerge, sitenin kök dizinini belirlemekten sorumludur. Doküman kaynağı dosyada c:/Apache2.2/conf/httpd.conf.

    DocumentRoot "C:/Apache2.2/htdocs"

    Bunu değiştirebilir ve diğer dizini sunucunun kök dizini yapabilirsiniz.

    Ancak, bunu yapmadan önce, httpd.conf yapılandırma dosyasında çok az değişiklik yapmalısınız. Varsayılan olarak, Apache site dizinlerine tüm erişimi reddedecek şekilde yapılandırılmıştır ve izinler, C:/Apache2.2/htdocs dizini için yapıldığı gibi her dizin için açıkça ayarlanmalıdır. Uygun izinleri ayarlamadan sunucunun kök dizinini başka bir dizine aktarırsanız, 403 Forbidden hatası ve yanıt olarak şekilde gösterilen sayfa alırsınız.


    Bu nedenle, İnternet veya LAN hizmetlerini barındırmak için en son Apache'nizi KULLANMAYACAKSANIZ, varsayılan korumayı hemen kaldırmalısınız.

    C:/Apache2.2/conf/httpd.conf dosyasında aşağıdaki satırları bulun:


    Seçenekler SymLinks'i İzle
    Geçersiz Kılma Yok
    Sipariş reddet, izin ver
    Tümünü reddet
    hepsini tatmin et

    çizgiye dikkat et Tümünü reddet.

    Sanal ana bilgisayarların dizinleri de dahil olmak üzere dizinlere tüm erişimi reddeder. Onlara erişmeye çalıştığınızda, Apache 403 Forbidden hatasıyla yanıt verecektir. Buna karşı denge, "Herkesten izin ver" yönergesidir. Bu yönergenin ayarlanması "Tümünden reddet" yönergesini geçersiz kılar.

    Allow from all yönergesini her dizin ve her sanal ana bilgisayar için ayarlayabilirsiniz, ancak bunu daha kolay yapabilir ve "Deny from all" yönergesini kaptan kaldırabilir (veya yorumlayabilirsiniz).


    Seçenekler SymLinks'i İzle
    Geçersiz Kılma Yok
    Sipariş reddet, izin ver
    # Herkesten reddet
    hepsini tatmin et

    Bu basit adımları tamamladıktan sonra Apache'yi yeniden başlatın. Bunun nasıl yapılacağı yukarıda açıklanmıştır.

    PHP yükleniyor

    Dinamik olarak oluşturulmuş sayfaların desteği olmadan modern bir web sunucusu düşünülemez. Rusya'da dinamik sayfalar ve web uygulamaları oluşturmaya yönelik teknolojiler arasında lider PHP teknolojisidir. Aşağıda, örnek olarak 5.3.5 sürümünü kullanarak PHP'yi bağlama sürecini ele alacağız. PHP'nin bu sürümü zaten kuruluysa, PHP'yi Apache2.2.2'ye Bağlama bölümüne atlayabilirsiniz.

    PHP ile dağıtım kitini adresindeki web sitemizden indirebilirsiniz. Bağlantı ile ayrıca bir dağıtım seçme kurallarını ve neden dağıtımı resmi php.net'ten değil de web sitemizden indirmeyi teklif etme özgürlüğüne sahip olduğumuzu öğrenebilirsiniz. Bağlantı tarafından sağlanan dağıtımı indirirken, PHP'yi bir modül olarak kuracağınız varsayılmaktadır.

    php zip dosyasını c:/php-5.3.5 dizinine açın. Bu, PHP kurulumunu tamamlar. Diğer adımlar, PHP+Apache paketinin kurulması ve PHP'nin kendisinin yapılandırılmasıyla ilgili olacaktır.

    Not

    Diğer tüm talimatlar, c:/php-5.3.5 dizininde yüklü olan php-5.3.5'i kullandığınız varsayımına dayalı olacaktır. PHP'nin farklı bir sürümüne sahipseniz veya php'yi farklı bir dizine kuruyorsanız, bu talimatları kendi durumunuza göre uyarlamalısınız.

    PHP'yi Apache2.2.2'ye Bağlamak

    PHP'yi Apache2.2'ye bağlama sorunları

    Normal modül php5apache2.dll'yi Apache2.2.2'ye bağlamaya çalışırsanız başarısız olursunuz. Apache resimde gösterilen mesajla başlamak istemeyecektir.


    Ve sistem ve uygulama günlüklerinde aşağıdaki mesajlar görünecektir.

    adlı Apache hizmeti aşağıdaki hatayı bildirdi:
    >>> httpd.exe: C:/Apache2.2/conf/httpd.conf'un 115. satırında sözdizimi hatası:
    C:/php-5.3.5/php5apache2.dll şu sunucuya yüklenemiyor: \xcd\xe5 \xed\xe0\xe9
    \xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc.

    php5apache2.dll kitaplığı Apache 2.0.X için tasarlanmıştır, Apache 2.2.X için php5apache2_2.dll kitaplığını eklemeniz gerekir (dağıtımda php5apache2.dll'nin yanında bulunur).

    PHP bağlantısı için httpd.conf'u yapılandırma

    PHP'yi modül olarak bağlamak için httpd.conf dosyasına sadece 3 komut eklemeniz gerekir.

    httpd.conf'ta PHP bağlantı yönergeleri

    LoadModule php5_module c:/php-5.3.5/php5apache2_2.dll
    AddType uygulaması/x-httpd-php phtml php
    PHPIniDir "c:/php-5.3.5/"

    Bu satırlar kabaca httpd.conf dosyasının ortasına, örneğin LoadModule direktiflerinden hemen sonra yerleştirilmelidir. Bu yönergelerin tam konumu kritik değildir, ancak httpd.conf dosyasının başına veya sonuna yerleştirilmemelidir.

    • İlk satır, php5apache2_2.dll kitaplığında uygulanan PHP modülünü yükler.
    • İkinci satır, php uzantılı dosyaları PHP modülü tarafından yönetilen application/x-httpd-php mime türüne eşler.
    • Üçüncü satır, php.ini yapılandırma dosyasının konumunu açıkça belirtmenize izin verir.

    Not

    PHPIniDir yönergesi Apache1.3'te ciddi şekilde eksikti, çünkü php.ini dosyasının birden fazla kopyası olduğunda veya yanlış dizine yerleştirildiğinde php kurulumunda genellikle kafa karışıklığı oluyordu.

    Bir sonraki adım, PHP için bir yapılandırma dosyası oluşturmaktır. httpd.conf'ta, PHPIniDir yönergesinde, php yapılandırma dosyasının konumu olarak c:/php-5.3.5 dizini belirtildi. Yapılandırma dosyasının kendisi php.ini olarak adlandırılmalıdır.

    c:/php-5.3.5 dizini birkaç yapılandırma dosyası şablonu içerir. Dosyayı esas alalım c:/php-5.3.5/php.ini tarafından önerilen ve yeniden adlandır php.ini. Böylece, PHP yapılandırma dosyası (php.ini) c:/php-5.3.5 dizininde yer alacaktır ve burası tüm PHP yapılandırma değişikliklerinin yapılması gereken yerdir.

    httpd.conf üzerinde değişiklik yaptıktan ve bir php.ini dosyası oluşturduktan sonra Apache'yi yeniden başlatın.

    Phpinfo.php adında aynı adlı işlevi yürüten bir test php betiği oluşturun ve onu dizine kaydedin c:/Apache2.2/htdocs.

    phpinfo.php betiği

    yankı phpinfo();

    // Tam gösterim sözdiziminin kullanıldığını unutmayın
    // php betiği.?>

    Not

    phpinfo.php test betiği, PHP betiğini tanımlamak için tam sözdizimini kullanır. Son PHP dağıtımlarında, kısa gösterim sözdizimi varsayılan olarak devre dışıdır. Yönerge, kısa kayıt modunun etkinleştirilmesinden sorumludur. short_open_tag php.ini dosyasında. olarak ayarlanması gerekiyor Açık.

    Şimdi tarayıcı üzerinden adres çubuğuna yazarak bu betiğe başvurun. http://localhost/phpinfo.php. Yanıt olarak, php ve uzantılarının ayarlarını gösteren iyi bilinen mor sayfalar gösterilmelidir.


    Phpinfo() fonksiyonunun "mor tablolar" biçimindeki raporu görüntülenirse, php Apache tarafından başarıyla yürütülür.

    Olası hatalar

    Apache yüklenir, ancak "mor tablolar" yerine boş bir sayfa açılır.

    Kontrol Edin: Test betiği tam sözdizimi kullanılarak mı yoksa kısaltılmış olan kullanılarak mı yazılmış? Onlar.:

    kaydedilmeli
    yankı phpinfo();
    ?>
    yerine
    yankı phpinfo();
    ?>

    Windows XP için Apache

    Şu anda Apache'nin tüm güncel sürümleri Windows 7 SP1, Vista SP2, 8 / 8.1, 10, Server 2008 SP2 / R2 SP1, Server 2012 / R2, Server 2016 üzerinde çalışmaktadır.

    Bu nedenle, Apache'nin modern sürümlerini Windows XP'de çalıştırmak şu anda mümkün değildir. Ayrıca Apache, Windows Server 2003'te çalışmaz.

    Windows XP'de yalnızca Apache 2.2'yi çalıştırabilirsiniz. Ayrıca, Windows XP sisteminizde Service Pack 3 bulunmalıdır.

    Devam etmeden önce, Windows'un daha yeni bir sürümüne yükseltmenizi tavsiye ederim - yediden başlayarak, Apache ve PHP'nin herhangi bir modern sürümünü yükleyebilirsiniz. Apache ve PHP'nin eski sürümleri hatalar içerebilir. Web uygulaması yönetimini ve PHP programlamayı öğrenmek için yerel bir web sunucusu kullanmayı planlıyorsanız, o zaman Windows XP en iyi platform değildir - burada uzun süre eskimiş yazılımlarla uğraşacaksınız.

    Sizi ikna etmediysem, Apache'yi Windows XP'de çalıştırmak için bu adım adım kılavuzu izleyin.

    Web sunucusu yapısının oluşturulması

    Sunucumuzun dizin yapısını oluşturalım. Ana fikir, yürütülebilir dosyaları ve site dosyalarını veritabanlarından ayırmaktır. Bu, yedekleme de dahil olmak üzere sunucu bakımı için uygundur.

    Diskin kökünde C:\ bir dizin oluştur sunucu. Bu dizinde 2 alt dizin oluşturun: çöp Kutusu(yürütülebilir dosyalar için) ve veri.

    dizine git veri ve orada alt klasörler oluşturun DB(veritabanları için) ve htdocs(web siteleri için).

    Windows XP'de Apache Nasıl Kurulur?

    Seçme Gelenek kurulum:

    Kurulum klasörünü şu şekilde değiştirin: C:\Sunucu\bin\Apache2.2\:

    Kurulum tamamlandıktan sonra http://localhost/ adresini açın:

    dizine git C:\Sunucu\bin\Apache2.2\conf\ ve dosyayı aç httpd.conf herhangi bir metin editörü.

    İçinde birkaç satırı değiştirmemiz gerekiyor.

    #SunucuAdı yerel ana bilgisayar:80

    SunucuAdı localhost:80

    DocumentRoot "C:/Sunucu/bin/Apache2.2/htdocs"

    DocumentRoot "C:/Sunucu/veri/htdocs/"

    DirectoryIndex index.html

    DirectoryIndex index.php index.html index.htm

    # AllowOverride, .htaccess dosyalarına hangi yönergelerin yerleştirilebileceğini kontrol eder. # "Tümü", "Yok" veya anahtar kelimelerin herhangi bir kombinasyonu olabilir: # Seçenekler FileInfo AuthConfig Limit # AllowOverride Yok

    # AllowOverride, .htaccess dosyalarına hangi yönergelerin yerleştirilebileceğini kontrol eder. # "Tümü", "Hiçbiri" veya anahtar kelimelerin herhangi bir kombinasyonu olabilir: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

    #LoadModule rewrite_module modülleri/mod_rewrite.so

    LoadModule rewrite_module modülleri/mod_rewrite.so

    Dosyayı kaydedip kapatıyoruz. Hepsi bu kadar, Apache kurulumu tamamlandı! Değişikliklerin etkili olması için web sunucusunu veya bilgisayarınızı yeniden başlatın.

    Sitelerinizi bir klasöre yerleştirin C:\Sunucu\veri\htdocs\.

    Windows XP'de PHP Nasıl Kurulur?

    Windows XP'de Apache'nin bu sürümü ile sadece PHP 5.4 çalışacaktır, en son sürüm PHP 5.4.9'dur, bu arşivden indirdiğimiz dosyadır.

    PHP'nin bu sürümü için "Microsoft Visual C++ 2008 Yeniden Dağıtılabilir Paket (x86)" dosyasını indirin ve kurun.

    Klasörde C:\Sunucu\bin\ adlı başka bir klasör oluşturun. PHP, indirilen dosyanın içeriğini içine açın php-5.4.9-Win32-VC9-x86.zip.

    Dosyada C:\Sunucu\bin\Apache2.2\conf\httpd.conf en sonuna satır ekle

    PHPIniDir "C:/Server/bin/PHP" AddHandler uygulaması/x-httpd-php .php LoadModule php5_module "C:/Server/bin/PHP/php5apache2_2.dll"

    Şimdi bir klasörde C:\Sunucu\bin\PHP\ dosyayı bul php.ini geliştirme ve yeniden adlandır php.ini.

    bu dosyayı aç php.ini herhangi bir metin düzenleyicide satırı arayın

    ; extension_dir = "dahili"

    ve onunla değiştir

    Extension_dir = "C:\Sunucu\bin\PHP\ext\"

    Şimdi satır grubunu bulun:

    ;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 ;uzantı =php_interbase.dll ;uzantı=php_ldap.dll ;uzantı=php_mbstring.dll ;uzantı=php_exif.dll ; Bağlı olduğu için mbstring'den sonra olmalıdır ;extension=php_mysql.dll ;extension=php_mysqli.dll ;extension=php_oci8.dll ; Oracle 10gR2 Instant Client ile kullanın ;extension=php_oci8_11g.dll ; Oracle 11gR2 Instant Client =php_pgsql.dll ;extension=php_pspell.dll ;extension=php_shmop.dll ile kullanın

    ve şununla değiştirin:

    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 ;extension=php_interbase.dll ; extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll ; Buna bağlı olarak mbstring'den sonra olmalıdır extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8.dll ; Oracle 10gR2 Instant Client ile kullanın ;extension=php_oci8_11g.dll ; Oracle 11gr2 anlık istemci uzantısı ile kullanın = php_openssl.dll; extension = php_pdo_firebird.dll uzantısı = php_pdo_oci.dll; extension = php_pdo_odbc.dll; php_pdo_odbc.dll; .dll; uzantı = php_pgsql. dll ;uzantı=php_pspell.dll ;uzantı=php_shmop.dll

    şimdi bu gruptaki satırların açıklamasını kaldırın:

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

    almalı:

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

    Web sunucusunu yeniden başlatın:

    katalogda C:\Sunucu\veri\htdocs\ adıyla bir dosya oluştur i.php

    Bu dosyaya kopyalayın:

    İndirilen dosyayı şuraya çıkartın: C:\Sunucu\veri\htdocs\. Bu klasörü (phpMyAdmin-3.5.8.2-all-languages) olarak yeniden adlandırın. phpmyadmin.

    katalogda c:\Sunucu\veri\htdocs\phpmyadmin\ dosya oluştur yapılandırma.inc.php ve oraya kopyalayın:

    Şimdi bir web tarayıcısında http://localhost/phpmyadmin/ açın:

    Kullanıcı adı için girin kök ve parolayı boş bırakın.

    Çözüm

    Gördüğünüz gibi, uygun sürümleri seçmiş olmamıza rağmen, en son yazılım bileşenleriyle olmasa bile Windows XP'de tam teşekküllü bir web sunucusu çalıştırmak mümkündür.

    Bu arada, bu talimata göre oluşturulan bitmiş montajı indirebilirsiniz. Onu bulacaksın.

    Kılavuzun bu bölümü Windows 98/Me ve Windows NT/2000/XP/2003 için geçerlidir. PHP, Windows 3.1 gibi 16 bitlik platformlarda çalışmaz ve bazen Windows destekli platformları Win32 olarak adlandırırız.

    Yorum:

    Windows XP/2003 artık PHP 5.5.0 için desteklenmemektedir.

    Yorum:

    Windows 98/Me/NT4/2000, PHP 5.3.0 için artık desteklenmemektedir.

    Yorum:

    Windows 95 artık PHP 4.3.0 için desteklenmemektedir.

    Microsoft Visual Studio gibi bir geliştirme ortamınız varsa, PHP'yi kaynaktan da oluşturabilirsiniz.

    PHP, Windows'a yüklendikten sonra, ek işlevsellik sağlamak için çeşitli uzantıları da indirmek isteyebilirsiniz.

    Manuel Kurulum Kılavuzu

    Bu bölüm, Microsoft Windows'ta PHP'yi manuel olarak kurmak ve yapılandırmak için talimatlar içerir.

    Bir PHP dağıtım paketi seçme ve indirme

    PHP dağıtımını bir zip dosyası olarak . Zip paketlerinin birkaç farklı sürümü vardır - web sunucunuza uygun sürümü seçin:

    PHP paketinin yapısı ve içeriği

    Zip arşivinin içeriğini istediğiniz bir dizine çıkarın, örneğin C:\PHP\. Arşivden çıkarılan klasörlerin ve dosyaların yapısı şöyle görünecektir:

    Örnek 1 - PHP 5 paket yapısı

    c:\php | +--dev | | | |-php5ts.lib -- php5.lib'in iş parçacıklı olmayan versiyonu | +--ext -- PHP için DLL modülleri | | | |-php_bz2.dll | | | |-php_cpdf.dll | | | |-... | +--ekstralar -- boş | +--armut -- ARMUT'un ilk kopyası | | |-go-pear.bat -- PEAR kurulum betiği | |-... | |-php-cgi.exe -- yürütülebilir CGI | |-php-win.exe -- komut dosyalarını açık konsol olmadan yürütür | |-php.exe -- PHP Komut Satırı (CLI) Çalıştırılabilir | |-... | |-php.ini geliştirme -- varsayılan php.ini ayarları | |-php.ini üretimi -- önerilen php.ini ayarları | |-php5apache2_2.dll -- yalnızca çoklu iş parçacıklı sürümde mevcuttur | |-php5apache2_2_filter.dll -- yalnızca çok iş parçacıklı sürümde mevcuttur | |-... | |-php5ts.dll -- çekirdek PHP DLL (php5.dll iş parçacıklı olmayan sürümde) | |-...

    Aşağıda, PHP zip dağıtımına dahil olan modüllerin ve yürütülebilir dosyaların bir listesi bulunmaktadır:

      php-cgi.exe, PHP'yi CGI veya FastCGI aracılığıyla IIS üzerinde çalıştırırken kullanılabilen bir CGI yürütülebilir dosyasıdır.

      php-win.exe - Konsolu kullanmadan PHP betiklerini çalıştırmak için çalıştırılabilir PHP (örneğin, Windows GUI kullanan PHP uygulamaları).

      php.exe - PHP betiklerini konsolda (CLI) çalıştırmak için PHP yürütülebilir dosyası.

      php5apache2_2.dll - Apache 2.2.X modülü.

      php5apache2_2_filter.dll - Apache 2.2.X filtresi.

    php.ini dosyasını değiştirme

    Php paketinin içeriği çıkarıldıktan sonra, aynı klasörde php.ini adlı php.ini-production dosyasının bir kopyasını oluşturun. Gerekirse, php.ini'yi seçtiğiniz başka bir konuma da yerleştirmek mümkündür, ancak bu, PHP Yapılandırma bölümünde listelenen ek yapılandırma gerektirir.

    Php.ini dosyası, içinde çalıştığı ortamla çalışmak için PHP yürütme kurallarını ve talimatlarını içerir. Aşağıda, PHP'nin Windows'ta çalışma biçimini iyileştirebilen php.ini ayarlarından bazıları verilmiştir. Bazıları isteğe bağlıdır. Ortamınızda yararlı olabilecek başka birçok yönerge vardır - daha fazla ayrıntı için php.ini yönergeleri listesine bakın.

    Zorunlu direktifler:

      extension_dir = <путь к директории модулей> - extension_dir, PHP modüllerinin bulunduğu dizini belirtir. Yol mutlak (örn. "C:\PHP\ext") veya göreli (örn. ".\ext") olabilir. php.ini'de kullanılan modüller extension_dir içinde yer almalıdır.

      uzantı= xxxx.dll- Her eklenti için "extension=" yönergesini belirtmelisiniz. Bu yönergeyle işaretlenen extension_dir'deki modüller, PHP başladığında yüklenir.

      günlük_hataları = Açık- PHP, hataları bir dosyada depolamak veya bir hizmete (örn. syslog) göndermek için kullanılabilen bir hata günlüğü mekanizmasına sahiptir. Mekanizma aynı zamanda error_log direktifinin değerini de kullanır. PHP IIS tarafından çalıştırıldığında, log_errors doğru error_log ile etkinleştirilmelidir.

      hata_günlüğü = <пусть к файлу лога ошибок> - error_log, PHP hatalarının kaydedildiği dosyanın mutlak veya göreli yolunu belirtmek için gereklidir. Bu dosya web sunucusu tarafından yazılabilir olmalıdır. Bu dosya için en yaygın konumlar, "C:\inetpub\temp\php-errors.log" gibi çeşitli geçici TEMP dizinleridir.

      cgi.force_redirect = 0 - Bu yönerge, IIS altında yürütme için gereklidir. Bu, diğer birçok web sunucusu tarafından gerekli görülen bir dizin koruma mekanizmasıdır. Ancak, IIS altında etkinleştirmek, Windows'ta PHP çekirdek hatalarına neden olur.

      cgi.fix_pathinfo = 1 - CGI spesifikasyonuna göre PATH_INFO için destek sağlar. IIS FastCGI bu ayarı kullanır.

      fastcgi.impersonate= 1 - IIS altındaki FastCGI, arayan istemcinin güvenlik belirteçlerini belirleme yeteneğini destekler. Bu, IIS'nin isteğin yapıldığı güvenlik bağlamını belirlemesine olanak tanır.

      fastcgi.logging= 0 - IIS'de FastCGI günlüğü devre dışı bırakılmalıdır. Giriş etkinleştirilirse, herhangi bir sınıftaki tüm mesajlar FastCGI tarafından hata olarak algılanacak ve bu da IIS'nin bir HTTP 500 istisnası atmasına neden olacaktır.

    İsteğe bağlı direktifler

      max_execution_time = ## - Bu yönerge, herhangi bir PHP betiği için maksimum yürütme süresini belirtir. Varsayılan 30 saniyedir. PHP uygulamanızın daha uzun süre çalışması gerekiyorsa bu değeri artırmalısınız.

      hafıza_sınırı = ###M- MB cinsinden PHP işlemi için kullanılabilir bellek miktarı. Varsayılan, çoğu PHP uygulaması için yeterli olan 128'dir. Bazı karmaşık uygulamalar daha fazla bellek gerektirebilir.

      ekran_hataları = Kapalı- Yönerge, daha fazla günlük kaydı için hangi hataların web sunucusuna döndürülmesi gerektiğini tanımlar. "Açık" olarak ayarlandığında, PHP error_reporting yönergesinde listelenen her türlü hatayı bildirir. Güvenlik nedeniyle, uygulamanın güvenliğini tehdit eden bilgiler içerebileceğinden, hata çıktısının son kullanıcıya iletilmesini önlemek için üretim sunucularında "Kapalı" olarak ayarlanması önerilir.

      open_basedir = <пути к директориям, разделенные точкой с запятой> , örneğin openbasedir="C:\inetpub\wwwroot;C:\inetpub\temp". Bu yönerge, PHP'nin dosya sisteminde çalışmasına izin verilen dizinlerin yollarını belirtir. Dosyalar ve dizinler üzerinde belirtilen yollar dışındaki herhangi bir işlem bir hataya neden olur. Bu yönerge, PHP komut dosyalarının web sitesinin kök dizini dışındaki herhangi bir dosyaya erişmesini önlemek için, paylaşılan barındırma ortamlarında kurulu PHP'ye erişimi engellemek için özellikle yararlıdır.

      upload_max_filesize = ###M ve post_max_size = ###M- Sırasıyla yüklenen dosyanın ve gönderilen verilerin izin verilen maksimum boyutu. PHP uygulamalarının resim veya video dosyaları gibi büyük yüklemeleri işlemesi gerekiyorsa, bu yönergelerin değerleri artırılmalıdır.

    PHP sisteminize yüklendikten sonraki adım, bir web sunucusu seçmek ve onu PHP ile çalışacak şekilde yapılandırmaktır. Bu materyal için içindekiler tablosundan belirli bir web sunucusu seçin.

    Microsoft IIS 5.1 ve IIS 6.0

    Bu bölüm, Microsoft Windows XP ve Windows Server 2003'te PHP ile çalışmak üzere Internet Information Services (IIS) 5.1 ve IIS 6.0'ı manuel olarak kurmak için talimatlar içerir. 7 ve Windows Server 2008 R2, Microsoft IIS 7.0 ve sonrasını ifade eder.

    PHP isteklerini işlemek için IIS'yi yapılandırma

    Manuel kurulum adımlarında açıklanan talimatlara uygun olarak PHP'yi indirin ve kurun

    Yorum:

    IIS kullanılırken iş parçacığı güvenli olmayan PHP derlemesi önerilir. İş parçacığı güvenli olmayan yapılar şu adreste mevcuttur:

    php.ini dosyasındaki CGI ve FastCGI'ye özgü ayarları aşağıda gösterildiği gibi yapılandırın:

    Örnek 2 - php.ini'de CGI ve FastCGI ayarları

    IIS'de FastCGI Desteğini Etkinleştirme

    FastCGI modülü, IIS yüklenirken varsayılan olarak devre dışıdır. Etkinleştirme yöntemleri, kullandığınız Windows sürümüne bağlı olarak değişir.

    Windows Vista SP1 ve Windows 7'de FastCGI desteğini etkinleştirmek için:

      "Başlat" menüsünde "Çalıştır"ı seçin, açılan pencerede klavyeden "isteğe bağlı özellikler.exe" yazın ve "Tamam"a tıklayın;

      Açılan "Windows Bileşenleri" penceresinde "IIS", "İnternet Hizmetleri", "Uygulama Geliştirme Bileşenleri" klasörünü genişletin ve "CGI" yanındaki kutuyu işaretleyin;

      Tamam'a tıklayın ve yükleme işleminin tamamlanmasını bekleyin.


    Windows Server 2008 ve Windows Server 2008 R2'de FastCGI desteğini etkinleştirmek için:

      Windows'ta Başlat menüsünü açın, "Çalıştır:"ı seçin, klavyeden "CompMgmtLauncher" yazın ve "Tamam"a tıklayın;

      "Web Sunucusu (IIS)" rolü "Roller" sekmesinde listelenmiyorsa, "Rol Ekle"yi seçerek ekleyin;

      "Web Sunucusu (IIS)" rolü varsa "Rol Hizmeti Seçimi"ni seçin ve "Application Development Components" grubunda "CGI" yanındaki kutucuğu işaretleyin;


    IIS'yi PHP İsteklerini İşleyecek Şekilde Yapılandırma

    Kurulum açıklamasında verilen talimatlara göre PHP'yi indirin ve kurun

    Yorum:

    php.ini dosyasındaki CGI ve FastCGI ayarlarını aşağıda gösterildiği gibi değiştirin:

    Örnek 8 - php.ini'de CGI ve FastCGI ayarları

    fastcgi.impersonate = 1 fastcgi.logging = 0 cgi.fix_pathinfo=1 cgi.force_redirect = 0

    IIS Yönetim Arayüzünü veya komut satırını kullanarak PHP için bir IIS işleyicisi kurun.

    Bir PHP İşleyici Oluşturmak için IIS Yönetim Arayüzünü Kullanma

    Aşağıdaki adımlar, IIS Yönetim Arayüzünde PHP için bir IIS işleyicisi oluşturmanıza izin verecektir:



    Bir PHP işleyici eşlemesi oluşturmak için komut satırını kullanma

    PHP istekleri için php-cgi.exe yürütülebilir dosyasını kullanacak bir IIS FastCGI işlem havuzu oluşturmak için aşağıdaki komutları kullanın. fullPath parametresinin değerini php-cgi.exe dosyasının mutlak yolu ile değiştirin.

    Açıklama #9 Bir IIS FastCGI işlem havuzu oluşturma

    %windir%\system32\inetsrv\appcmd yapılandırmayı ayarla /bölüm:system.webServer/fastCGI ^ /+

    Komut satırından belirli PHP isteklerini işlemek için IIS'yi yapılandırma aşağıda gösterilmiştir. scriptProcessor parametresinin değerini php-cgi.exe dosyasının mutlak yolu ile değiştirin.

    Örnek 10 - Bir PHP istek işleyici eşlemesi oluşturma

    %windir%\system32\inetsrv\appcmd yapılandırmayı ayarla /bölüm:system.webServer/handlers ^ /+

    Bu komut, sonuç olan ve FastCGI modülü tarafından işlenen *.php dosyaları için IIS için bir işleyici eşlemesi oluşturur.

    Yorum:

    Bu adım kurulum ve yapılandırmayı tamamlar. Aşağıdaki talimatlar isteğe bağlıdır, ancak IIS'de en iyi PHP işlevselliği ve performansı için önemle tavsiye edilir.

    Sunum ve dosya sistemine erişim

    IIS kullanırken, PHP'de FastCGI görünümünü etkinleştirmeniz önerilir. Bu, php.ini dosyasındaki fastcgi.impersonate yönergesi tarafından kontrol edilir. Kimliğe bürünme etkinleştirildiğinde, PHP dosya sistemindeki tüm işlemleri IIS kimlik doğrulaması sırasında belirtilen hesap altında gerçekleştirir. Bu, tüm IIS siteleri için ortak bir PHP işlemi verildiğinde, IIS her site için farklı hesaplar kullandığı sürece sitelerin PHP betiklerinin birbirlerinin dosyalarına erişmemesini sağlar.

    Örneğin, IIS 7'nin varsayılan ayarlarında, standart kullanıcı IUSR altında anonim kimlik doğrulama etkinleştirilir. Bu, IIS'ye bir PHP betiğini yürütme izni verirken, IUSR hesabına bu betiği okuma izni vermek gerektiği anlamına gelir. PHP uygulamasının bazı dosyalara veya klasörlere yazması gerekiyorsa, IUSR hesabına bunlara yazma erişimi verilmelidir.

    IIS 7'de kimlik doğrulama için hangi kullanıcının kullanılacağına karar vermek için aşağıdaki komutları kullanabilirsiniz. "Varsayılan Web Sitesi"ni, birlikte çalıştığınız IIS sitesinin adıyla değiştirin. Çıktıda, yapılandırma XML'sinde userName özniteliğine bakın.

    Örnek 11 - IIS tarafından anonim kimlik doğrulama için kullanılan hesabı belirleme

    %windir%\system32\inetsrv\appcmd.exe liste yapılandırması "Varsayılan Web Sitesi" ^ /section:anonymousAuthentication

    Yorum:

    "userName" özniteliği "anonymousAuthentication" öğesinde yoksa veya boş dize olarak ayarlanmışsa, uygulama havuzu kimliği bu web sitesi için anonim olarak kullanılır.

    Dosyalara veya klasörlere erişim ayarlarını değiştirmek için Windows Gezgini'ndeki kullanıcı arabirimini veya icacls komutunu kullanın.

    Örnek 12 - Dosya izinlerini ayarlama

    icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M)

    index.php'yi IIS'de varsayılan belge olarak ayarlama

    Varsayılan olarak, IIS'nin varsayılan olarak HTTP isteklerini işlemek için ayarlanmış bir belge adı yoktur. PHP uygulamalarında varsayılan belge index.php'dir. index.php'yi varsayılan IIS belge sayfasına eklemek için aşağıdaki komutu kullanın:

    Açıklama #13 index.php'yi IIS'de varsayılan belge olarak ayarlama

    %windir%\system32\inetsrv\appcmd.exe yapılandırmayı ayarla ^ -section:system.webServer/defaultDocument /+"dosyalar." ^ /commit:apphost

    Süreç yeniden oluşturma ile FastCGI ve PHP yapılandırması

    Komutları kullanarak PHP işlemlerinin geri dönüşümü için IIS FastCGI ayarlarının yapılandırılması aşağıda verilmiştir. FastCGI instanceMaxRequests seçeneği, IIS bunları devre dışı bırakmaya başlayana kadar bir php-cgi.exe işlemi tarafından işlenebilecek maksimum istek sayısını belirler. PHP ortam değişkeni PHP_FCGI_MAX_REQUESTS, tek bir php-cgi.exe işleminin onları silmeye başlamadan önce kaç isteği işleyeceğini belirler. Elbette, FastCGI InstanceMaxRequests için ayarlanan değer PHP_FCGI_MAX_REQUESTS değerinden küçük veya buna eşittir.

    Açıklama #14 FastCGI kurulumu ve PHP'yi yeniden oluşturma

    %windir%\system32\inetsrv\appcmd.exe yapılandırmayı ayarla -section:system.webServer/fastCgi ^ /.instanceMaxRequests:10000 %windir%\system32\inetsrv\appcmd.exe yapılandırmayı ayarla -section:system.webServer/fastCgi ^ / +".environmentVariables.^"

    FastCGI Zaman Aşımının Ayarlanması

    FastCGI için zaman aşımı parametresinin artırılması, uzun süre çalışan bir PHP betiği varsa yapılır. Zaman aşımını iki parametre kontrol eder, bunlar: ActivityTimeout ve requestTimeout . Zaman aşımı ayarlarını değiştirmek için aşağıdaki komutları kullanın. Elbette, fullPath parametresinin değerini php-cgi.exe dosyasının tam yolu ile değiştirmeniz gerekir.

    Örnek 15 FastCGI zaman aşımı ayarlarını yapılandırma

    %windir%\system32\inetsrv\appcmd.exe yapılandırmayı ayarla -section:system.webServer/fastCgi ^ /.activityTimeout:"90" /commit:apphost %windir%\system32\inetsrv\appcmd.exe yapılandırmayı ayarla -section:system .webServer/fastCgi ^ /.requestTimeout:"90" /commit:apphost

    php.ini dosyasının konumunu değiştirme

    PHP'yi Windows'ta Apache 1.3.x ile çalışacak şekilde yapılandırmanın iki yolu vardır. Birincisi CGI ikilisini (PHP 4 için php.exe ve PHP 5 için php-cgi.exe) kullanmak, ikincisi ise Apache Modül DLL'sini kullanmaktır. Her iki durumda da, Apache'yi PHP ile çalışacak şekilde yapılandırmak ve sunucuyu yeniden başlatmak için httpd.conf dosyasını düzenlemeniz gerekir.

    Şu anda SAPI modülü Windows altında daha kararlıdır, bu nedenle daha şeffaf ve güvenli olduğu için CGI yerine kullanmanızı öneririz.

    Apache altında PHP'yi yapılandırmak için çeşitli seçenekler olmasına rağmen, bunlar yeni başlayanlar için oldukça basittir. Daha fazla yapılandırma talimatı için lütfen Apache belgelerine bakın.

    Yapılandırma dosyasını değiştirdikten sonra sunucuyu yeniden başlatmayı unutmayın. Örneğin, komutlar NET DUR APACHE Ve NET BAŞLANGIÇ APACHE, Apache bir Windows hizmeti olarak çalışıyorsa veya normal kısayollar kullanıyorsa.

    Yorum:

    PHP'yi bir Apache modülü olarak kurmak

    Apache httpd.conf dosyasına aşağıdaki satırları eklemeniz gerekir:

    Örnek 17 Apache 1.3.x modülü olarak PHP

    Bu, PHP'nin c:\php içine kurulduğunu varsayar. Değilse yolu değiştirin.

    # LoadModule bölümünün sonuna ekleyin # Bu dosyayı sapi dizininden kopyalamayı unutmayın! LoadModule php4_module "C:/php/php4apache.dll" # AddModule bölümünün sonuna ekleyin AddModule mod_php4.c

    # LoadModule bölümünün sonuna ekleyin LoadModule php5_module "C:/php/php5apache.dll" # AddModule bölümünün sonuna ekleyin AddModule mod_php5.c

    Her iki sürüm için:

    # İçine bu satırı ekleyin koşullu parantez AddType application/x-httpd-php .php # Sözdizimi vurgulanan .phps dosyaları için ayrıca AddType application/x-httpd-php-source .phps ekleyin

    İkili CGI dosyası olarak kurulum

    PHP, Manuel Kurulum Adımları bölümünde açıklandığı gibi C:\php\ dizinine açılmışsa, Apache yapılandırma dosyasına aşağıdaki satırlar eklenmelidir:

    Örnek 18 PHP ve CGI olarak Apache 1.3.x

    Yukarıdaki listedeki ikinci satırın zaten httpd.conf içinde olduğunu, ancak yorumlandığını unutmayın. Ayrıca, c:/php/'yi gerçek PHP yolunuzla değiştirmeyi unutmayın.

    Dikkat

    "CGI Güvenliği"

    PHP'yi bir CGI olarak kurarken, PHP kaynaklarının sözdizimini vurgulamak için bir modül olarak kurarken olduğu kadar uygun bir seçenek yoktur. Kullanmak istiyorsanız, işlevi kullanmalısınız. vurgu_dosyası(). Bunu yapmak için, aşağıdaki kodla bir PHP betiği oluşturmanız yeterlidir: .

    Microsoft Windows'ta Apache 2.x

    Bu bölüm, Microsoft Windows sistemlerine Apache 2.x için PHP kurulumuna ilişkin talimatları içerir.

    Yorum: Apache 2.2 desteği

    Apache 2.2 kullanıcıları, Apache 2.2 için DLL dosyasının php5apache2.dll değil, php5apache2_2.dll olarak adlandırıldığını ve yalnızca PHP 5.2.0 ve sonrası için mevcut olduğunu unutmamalıdır.

    Apache 2.x Sunucusu hakkında temel bir anlayışa sahip olmak için » Apache Belgelerini okumanız önemle tavsiye edilir. Ayrıca, bu yardımı okumadan önce » Apache 2.x Windows Yönergelerine bir göz atın.

    Apache 2.x, Windows NT 4.0, Windows 2000, Windows XP veya Windows 7 gibi Windows sunucu sürümlerinde çalışacak şekilde tasarlanmıştır. Apache 2.x, Windows 9x üzerinde kullanılabilse de, bu platformlar tam olarak desteklenmez ve bazı özellikler işe yaramayacak Doğru. Bu durumun düzeltilmesi planlanmamıştır.

    » Apache 2.x'in en son sürümünü ve uygun PHP sürümünü indirin. Adım Adım Kurulum Kılavuzunu izleyin ve PHP ile Apache'yi entegre etmeye devam etmek için geri gelin.

    Apache için PHP'yi Windows'a kurmanın üç yolu vardır. PHP'yi işleyici olarak, CGI olarak veya FastCGI altında çalıştırabilirsiniz.

    Yorum: Windows altında Apache yapılandırma dosyalarında yolları belirtirken, c:\directory\file.ext gibi tüm ters eğik çizgilerin eğik çizgi olarak değiştirilmesi gerektiğini unutmayın: c:/directory/file.ext . Dizin yolları, sonunda bir eğik çizgi de gerektirebilir.

    PHP'yi Apache altında işleyici olarak kurmak

    Apache 2.x için PHP modülünü yüklemek için Apache httpd.conf yapılandırma dosyanıza aşağıdaki satırları eklemeniz gerekir:

    Örnek 19 Apache 2.x işleyicisi olarak PHP

    # LoadModule php5_module "c:/php/php5apache2.dll" AddHandler uygulaması/x-httpd-php .php # php.ini PHPIniDir "C:/php" yolunu yapılandırın

    Yorum: Yukarıdaki örnekte C:/php/ yerine gerçek PHP dizin yolunu kullanmayı unutmayın. LoadModule direktifinde php5apache2.dll veya php5apache2_2.dll kullanmaya özen gösterin ve belirtilen dosyanın aslında direktifte belirttiğiniz yolda olduğundan emin olun.

    Yukarıdaki yapılandırma, başka uzantılar olsa bile PHP'nin .php uzantılı herhangi bir dosyayı işlemesine izin verecektir. Örneğin, example.php.txt adlı bir dosya PHP motoru tarafından çalıştırılacaktır. Yalnızca şu dosyaların olduğundan emin olmak için: uzantıya sahip olmak.php çalıştırılacak, aşağıdaki yapılandırmayı kullanın:

    SetHandler uygulaması/x-httpd-php

    PHP'yi CGI olarak çalıştırma

    CGI'yi Apache altında çalıştırmayı daha eksiksiz bir şekilde anlamak için » Apache CGI belgelerine başvurmalısınız.

    PHP'yi CGI olarak çalıştırmak için, php-cgi dosyalarınızı ScriptAlilas direktifini kullanarak CGI dizini olarak belirlenmiş bir dizine yerleştirmeniz gerekir.

    Bundan sonra, # satırını eklemeniz gerekir! PHP dosyalarında, PHP yürütülebilir dosyasının konumuna işaret eder.

    Örnek 20 Apache 2.x altında CGI olarak PHP

    #!C:/php/php.exe

    Dikkat

    Bir CGI kurulumu kullanarak, sunucunuz birkaç olası güvenlik açığına maruz kalır. Kendinizi bu tür saldırılardan nasıl koruyabileceğiniz hakkında bilgi için lütfen CGI Güvenliği bölümüne bakın.

    PHP'yi FastCGI altında çalıştırma

    PHP'yi FastCGI altında çalıştırmanın, onu CGI olarak çalıştırmaya göre birçok avantajı vardır. Kurulum oldukça basit:

    Sun, iPlanet ve Netscape sunucularında NSAPI kurulumu

    PHP'yi NSAPI ile kurmak için aşağıdakileri yapın:

    • php4ts.dll dosyasını sistem kökünüze (Windows'u kurduğunuz dizin) kopyalayın
    • Komut satırından bir dosya ilişkilendirmesi yapın. Aşağıdaki iki satırı yazın:

      assoc .php=PHPScript ftype PHPScript=c:\php\php.exe %1 %*

    • Netscape Enterprise Yönetim Sunucusunda yeni bir mime tipi oluşturun (Kategori: tip, İçerik Tipi: magnus-internal/x-httpd-php, Dosya Soneki: php).
    • magnus.conf'u (sunucular için >= 6) veya obj.conf'u (sunucular için) düzenleyin< 6) and add the following: You should place the lines after mim türleri.

      Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="c:/php/sapi/php4nsapi.dll" Init fn="php4_init" LateInit="yes" errorString="PHP başlatılamadı! "

      (PHP >= 4.3.3) php_ini parametre isteğe bağlıdır ancak bununla php.ini'nizi web sunucusu yapılandırma dizininize yerleştirebilirsiniz.

      obj.conf'ta varsayılan nesneyi yapılandırın (vserver.obj.conf'larındaki sanal sunucu sınıfları için): section, place this line necessarily after all "ObjectType" and before all "AddLog" lines:

      Service fn="php4_execute" type="magnus-internal/x-httpd-php"

      (PHP >= 4.3.3) As additional parameters you can add some special php.ini -values, for example you can set a docroot="/path/to/docroot" specific to the context php4_execute is called. For boolean ini-keys please use 0/1 as value, not "On","Off",... (this will not work correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"

      This is only needed if you want to configure a directory that only consists of PHP scripts (same like a cgi-bin directory):

      ObjectType fn="force-type" type="magnus-internal/x-httpd-php" Service fn=php4_execute

      Bundan sonra, Yönetim sunucusunda bir dizini yapılandırabilir ve ona stil atayabilirsiniz. x-httpd-php. İçindeki tüm dosyalar PHP olarak yürütülür. Bu, dosyaları .html olarak yeniden adlandırarak PHP kullanımını gizlemek için güzeldir.

    • Web hizmetinizi yeniden başlatın ve değişiklikleri uygulayın
    • PHP'nin çalışmasını istediğiniz her web sunucusu örneği için yapın
    • Yorum:

      PHP'nin kullandığı yığın boyutu, web sunucusunun yapılandırmasına bağlıdır. Çok büyük PHP betiklerinde çökmeler yaşarsanız, onu Yönetici Sunucusu ile yükseltmeniz önerilir ("MAGNUS EDITOR" bölümünde).

      CGI ortamı ve php.ini'de önerilen değişiklikler

      PHP betikleri yazarken önemli olan, Sun JSWS/Sun ONE WS/iPlanet/Netscape'in çok iş parçacıklı bir web sunucusu olmasıdır. Bu nedenle, tüm istekler aynı işlem alanında (web sunucusunun kendi alanı) çalışır ve bu alanın yalnızca bir ortamı vardır. Gibi CGI değişkenlerini almak istiyorsanız PATH_INFO, HTTP_HOST vesaire. bunu eski PHP yöntemiyle denemenin doğru yolu değil. getenv() veya benzer bir şekilde (küreselleri çevreye kaydedin, $_ENV). Herhangi bir geçerli CGI değişkeni olmadan yalnızca çalışan web sunucusunun ortamını elde edersiniz!

      Yorum:

      Ortamda neden (geçersiz) CGI değişkenleri var?

      Yanıt: Bunun nedeni, web sunucusu işlemini web sunucusunun başlangıç ​​komut dosyasını çalıştıran yönetici sunucusundan başlatmanızdır, başlatmak istediğiniz, bir CGI komut dosyası (yönetici sunucusunun içindeki bir CGI komut dosyası!). Bu nedenle başlatılan web sunucusunun ortamında bazı CGI ortam değişkenleri bulunur. Bunu, yönetim sunucusundan değil, web sunucusunu başlatarak test edebilirsiniz. Komut satırını kök kullanıcı olarak kullanın ve manuel olarak başlatın - CGI benzeri ortam değişkenlerinin olmadığını göreceksiniz.

      Süper küresel $_SERVER kullanarak PHP 4.x için CGI değişkenlerini doğru şekilde elde etmek için betiklerinizi değiştirmeniz yeterlidir. $HTTP_HOST vb. kullanan daha eski betikleriniz varsa, açmanız gerekir. register_globals php.ini'de ve değişken sırasını da değiştirin (önemli: kaldır "E" ondan, çünkü burada çevreye ihtiyacınız yok):

      variables_order = "GPCS" register_globals = Açık

      Hata sayfaları veya kendi kendine yapılan dizin listeleri için özel kullanım (PHP >= 4.3.3)

      Hata sayfalarını oluşturmak için PHP'yi kullanabilirsiniz. "404 Bulunamadı" veya benzeri. Üzerine yazmak istediğiniz her hata sayfası için obj.conf'taki nesneye aşağıdaki satırı ekleyin:

      Hata fn="php4_execute" code=XXX script="/path/to/script.php"

      Nerede XXX HTTP hata kodudur. Lütfen diğerlerini silin hata sizinkini etkileyebilecek direktifler. Olabilecek tüm hatalar için bir sayfa yerleştirmek istiyorsanız, kod parametre çıkışı. Komut dosyanız $_SERVER["ERROR_TYPE"] ile HTTP durum kodunu alabilir.

      Başka bir olasılık, kendi kendine yapılan dizin listeleri oluşturmaktır. Sadece bir dizin listesi görüntüleyen bir PHP betiği oluşturun ve karşılık gelen varsayılan Servis satırını değiştirin. type="magnus-dahili/dizin" obj.conf'ta aşağıdakilerle:

      Hizmet fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php"

      Hem hata hem de dizin listeleme sayfaları için orijinal URI ve çevrilmiş URI, $_SERVER["PATH_INFO"] ve $_SERVER["PATH_TRANSLATED"] değişkenlerindedir.

      Bu liste, Windows'ta Sambar sunucusuyla çalışmak için ISAPI modülünün nasıl kurulacağını açıklar.

        Sambar kurulum dizininde mappings.ini adlı bir dosya (yapılandırma klasöründe) bulun.

        mappings.ini dosyasını açın ve altına aşağıdaki satırı ekleyin. :

        Örnek 22 - Sambar için ISAPI yapılandırması

        #PHP 4 için *.php = c:\php\php4isapi.dll #PHP 5 için *.php = c:\php\php5isapi.dll

        (Eğer PHP c:\php içine kuruluysa.)

        Değişikliklerin etkili olması için Sambar'ı yeniden başlatın.

      Yorum:

      Ağınızdaki diğer bilgisayarlardaki kaynaklarla iletişim kurmak için PHP kullanmak istiyorsanız, Sambar sunucu hizmeti tarafından kullanılan hesabı değiştirmeniz gerekir. Varsayılan olarak bu, LocalSystem'dir ve uzak kaynaklar kullanılamayacaktır. Hesap, Windows Denetim Masası'ndaki yönetim yardımcı programının "Hizmetler" seçeneği kullanılarak düzenlenebilir.

      Microsoft Windows'ta Xitami

      Bu bölüm, Windows platformunda » Xitami'ye özel notlar ve püf noktaları içerir.

      Bu kontrol listesi, Windows'ta Xitami ile çalışması için PHP CGI kitaplığının nasıl kurulacağını açıklar.

      Yorum: CGI kullanıcıları için önemli

      PHP Modüllerini Windows İşletim Sistemine Kurmak

      Windows'ta PHP ve bir web sunucusu kurduktan sonra, işlevsellik eklemek için bazı modüller kurmanız gerekebilir. PHP başladığında php.ini dosyanızı değiştirerek hangi modüllerin yükleneceğini seçebilirsiniz. İşlevi kullanarak modülleri betiklerinize dinamik olarak da yükleyebilirsiniz.

      Yerel bir makinede (kişisel bilgisayar) yerel bir WAMP sunucusu oluşturmaya devam ediyoruz. Bu yazıda, WAMP kısaltmasındaki [P] olarak da bilinen PHP yorumlayıcısını kuruyoruz.

      Bilgisayarınızda yerel bir sunucu olarak bir site oluşturmaya çalışmak için Apache + MySQL + PHP derlemesinin gerekli olduğunu hatırlatmama izin verin. Görev birçok kişi için ilginçtir ve genellikle projeler üzerinde çalışmak için kullanılır. AMP'nin kendi kendine montajı, bir bilgisayarın kurulumu ve sürekli sağlığı ile ilişkili karmaşık bir görevdir. Çoğu kişi için bu, uzak sunucularla çalışmaktan daha kolaydır çünkü bilgisayar yardımı her zaman elinizin altındadır. Ayrıca yerel bir sunucu ile çalışmak ücretsizdir.

      Geçmiş yazılarımda nasıl, nasıl olduğunu anlattım. Windows 7 çalıştıran yerel bir sunucu kuruyoruz. PHP'yi kurmanın zamanı geldi.

      PHP'yi sistem sürücüsünde oluşturulan php klasörüne kuracağız: C:\Program Files\PHP.

      PHP'yi nereden edinebilirim?

      PHP'nin en son sürümünü yalnızca resmi web sitesinde alıyoruz, işte bağlantı: https://php.net/downloads.php. diğeri: https://windows.php.net/download#php-7.0. Php7.0'ın en son sürümünü almayacağız, çok "devrimci" bir PHP 5.6 (5.6.20) almayacağız. Yerleşik bir Windows yükleyici ile 32 bit Windows 7 mimarisi için bir yapı alıyorum.

      Yükleyici (MSI) ile PHP kurulumu

      Yükleyici ve en önemlisi Apache 2.2 modülü ile en yeni PHP. bu php-5.3.10-nts-Win32-VC9-x86.msi'dir. Buradan alıyoruz: https://windows.php.net/downloads/releases/archives/ ve kurun.

      Not: WAMP'ı zaten kurmuş olduğumuz Apache 2.2 üzerine kurduğumuz için Apache 2.2 modülü ile seçiyoruz.

      PHP'yi bir yükleyici (MSI) kullanarak kurmak birkaç pencerede basittir:

      1. İndirilen php-5.3.10-nts-Win32-VC9-x86.msi dosyasını çalıştırın.

      İlk php-5.3.10 kurulum penceresi

      2. Lisansı tanıyoruz ve kabul ediyoruz, "İleri" düğmesine tıklayarak ilerliyoruz.

      3. Bu sayfada PHP'yi koyacağımız klasörü ayarlayın. Bu bir dizin olsun:

      4. Sonraki sayfada kullanılacak web sunucusunu seçin. Derlememizde bu Apache2'dir.

      5. Bu sayfada ihtiyacımız olacak PHP modüllerini seçmeniz gerekiyor. Sigorta için her şeyi seçiyoruz.

      6. "Yükle"ye tıklayın


      php-5.3.10'u kurmak için Kur'a tıklayın
      Kurulum penceresinin sürecini görüyoruz php-5.3.10

      Tüm! PHP'nin yerel bilgisayara kurulumu şimdi tamamlandı.