PHPIniDir'i windows 7 altında kırık?

6 Cevap php

Ben bir sunucu PHP ve MySQL ile Apache2'yi kullanarak bir Windows XP makinede çalışan vardı. Geçenlerde Windows 7'ye yükseltme ettik ve sorun işe alma sahip olmuştur. Apache çalışıyor ve PHP çalışır, ancak ben bir php.ini dosyası ile çalışmak için görünmüyor olabilir.

Ben bir php.ini dosyası ile bir dizine PHPIniDir ayarlandığında, Apache hizmeti başlatmak DEĞİLDİR.

Ben YOK php.ini dosyası ile bir dizine PHPIniDir ayarlandığında, Apache hizmeti başlıyor.

Ben dışarı çıktığınızda PHPIniDir, Apache hizmeti başlatılmaz.

Herkes bu soruna yönelik bir düzeltme buldu? Teşekkürler!

EDIT :

PHPIniDir "C:\Windows" # işleri (no php.ini dosyası)

PHPIniDir "C:\Program Files (x86)\php\" # çalışmıyor (içeriyor php.ini dosyası)

Herhangi bir zamanda en fazla bir de sağlar.

6 Cevap

Ben .. ben düzelttim aynı problem vardı. Bir not defteri veya herhangi bir metin düzenleyicisi ile php.ini dosyasını açın. Php.ini dosyasındaki uzantısı tüm devre dışı bırakın. Tarafından tek uzantıları Yorum ve soruna neden olan uzantısı bulmak.

Bunun birkaç nedeni vardır:

  • Apache ve / veya PHP Eski sürüm. Apache 2.2.13/2.2.14 Windows 7, hem de PHP 5.2.11/5.3 iyi çalışıyor gibi görünüyor.
  • PHP uzantıları bazı Apache başlangıç ​​yetmezliğine neden olabilir. Apache'nin günlük dosyalarını denetleyin ya da (etkin zaman başlattığınızda veya Apache hizmetini durdurmak için ApacheMonitor.exe kullanabilir, ve bir hata oluşursa, bu bir mesaj görüntüleyebilir olacak) php.ini içinde 'display_startup_errors' etkinleştirebilirsiniz ya. Ayrıca tüm PHP uzantıları devre dışı bırakmak ve onları tek tek etkinleştirme başlar ve soruna neden hangisini görmek yardımcı olur. Olabilir
  • Imho, PHP bir arşiv indirdiğiniz ve otomatik yükleyici kullanmak vermedi emin olun. Benim durumumda, montajcılar iyi çalıştı asla. Her zaman Apache yapılandırma dosyası içine iki PHP-ilgili direktifler (PHPIniDir'i ve LoadModule) ekleyin ve emin PHP dir Windows 'yolunda dahildir yapabilirsiniz. Oh, ve servis hata da php2apache kütüphaneye neden olabilir.
  • Apache / PHP / MySQL dizinleri Windows 'yoluna dahil olup olmadığını kontrol edin. İşte bunu yapmak için iyi bir araçtır: Redmond Path. Sen yoluna aşağıdaki dizinleri ekleyebilirsiniz: Apache / bin dir, PHP dir, MySQL / bin dir. Bu yardımcı olabilir.

Sana httpd.conf olarak PHP modülü için tam URL'yi belirtmek zorunda, aynı problem vardı.

Ben bulduk Tüm kılavuzları aşağıdaki koymak söyledi:

PHPIniDir "C:/Program Files/PHP"
LoadModule php5_module "php5apache2_2.dll"

Gerçekte ihtiyacınız olduğunda:

PHPIniDir "C:/Program Files/PHP"
LoadModule php5_module "C:/Program Files/PHP/php5apache2_2.dll"

son bölü silin:

PHPIniDir "C:\Program Files (x86)\php"

Ben bu çizginin ötesine almak mümkün değildi:

LoadModule php5_module "C :/ Program Files (x86) / PHP/php5apache2_2.dll"

Sonunda çaresizlik içinde ben C :/ PHP içine dll kopyalanan yeni bir klasör C :/ PHP, yaratılan ve çizgi değiştirdi

LoadModule php5_module "C :/ PHP/php5apache2_2.dll"

Ve ilk kez tüm çalıştı! Belki sadece yolu boşluk sevmez. Ya da belki de uzun yol adlarını sevmiyor. Bilmiyorum. Bu düzeltme Apache ve PHP belirli bir sürümüne özgü olması olasıdır, ama bu sorun üzerinde yaklaşık 20 saat geçirdikten sonra, ben o bağımlılık ne olabileceğini bilmiyoruz ki sulanmış değilim.

I had this problem too, but I could get Apache to work again by disabling all the extensions in the php.ini file (I had all the DLL in the ext folder, but they were disabled in the php.ini) Since I wanted to use all the php extensions, I tried disabling one by one to see which ones were crashing Apache. I also did install PHP in the C:, to avoid "blank space/long path" problems. In the end, here is how my Apache's httpd.conf file is, in the part of PHP:

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:\PHP"
LoadModule php5_module "C:\PHP\php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

Ayrıca, apache çökmesini uzantıları oldu:

  • php_oci8.dll
  • php_pdo_oci.dll
  • php_pdo_oci8.dll
  • php_pdo_sqlite_external.dll
  • php_pspell.dll
  • php_sybase_ct.dll

Gerçekten de onlarla yanlış bilmiyorum.

Ben msi yükleyici (php-5.2.17-Win32-VC6 x86.msi) kullanarak PHP yüklü ve ben TÜM uzantılarının kurulu olduğunu unutmayın. Ben de Windows 7 kullanıyorum.