php ini windows yolu nasıl değiştirilir


12

Ben php indirdim, yoluma ekledim ve imi openssl etkinleştirmeye

php --ini yapılandırma dosyası c: \ windows ki orada hiçbir şey olmadığını söyler, ben php c / windows kopyalamak istemiyorum.

Bunu benim php klasörü işaret edecek şekilde nasıl değiştirebilirim?

Yanıtlar:


10

PHP ile c:\windowsklasör yakınında herhangi bir şey yapmanız gerekmez .

Bunu yaparsanız, yalnızca PHP'yi yeni bir sürüme yükselttiğinizde sizi karıştırmaya yarar.

PHP'nin yüklü olduğu klasöre CD yaparsanız ve bunu yaparsanız php --ini, bulunduğunuz klasörden php.ini dosyasını okuyacaktır.

D:\wamp\bin\php\php5.5.12>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         D:\wamp\bin\php\php5.5.12\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

Ben de Windows PATH de PHP kurulum klasörü koymak için kötü bir fikir olduğunu düşünüyorum.

İhtiyacınız olan tek şey, PATH'nizi kullandığınız komut penceresi süresince ayarlayacak ve zaten Windows PATH'daki klasörlerden birine yerleştirecek küçük bir toplu iş dosyasıdır.

PHP'yi C:\phpbu dosyaya yüklediğinizi varsayarsak

phppath.cmd

PATH=%PATH%;C:\php
php --ini
php -v

Daha sonra bir komut penceresini açtığınızda ve bazı PHP kodlarını çalıştırmak istediğinizde bu toplu iş dosyasını çalıştırırsınız ve ortamınız yapılandırılır. Composer gibi ortamınıza eklenmiş başka şeylere ihtiyacınız olduğunda bu toplu iş dosyasına başka şeyler de ekleyebilirsiniz.


Evet! Bu benim için çalışıyor. PHP.ini aynı klasördeki PHP.exe ile daha iyidir, böylece Web ve CLI PHP aynı PHP.ini'ye başvurabilir.
Scott Chu

@ScottChu Gerçekten değil, 2 farklı ortam ve gerçek hayatta her ikisi için de genellikle farklı yapılandırmalar istiyorsunuz.
RiggsFolly

4

Belgelere göre:

PHP başlatıldığında yapılandırma dosyası (php.ini) okunur. PHP'nin sunucu modülü sürümlerinde bu, web sunucusu başlatıldığında yalnızca bir kez olur. CGI ve CLI sürümleri için her çağrıda olur.

php.ini şu konumlarda aranır (sırayla):

  • SAPI modülüne özgü konum (Apache 2'de PHPIniDir yönergesi, CGI ve CLI'de -c komut satırı seçeneği, NSAPI'da php_ini parametresi, THTTPD'de PHP_INI_PATH ortam değişkeni)
  • PHPRC ortam değişkeni. PHP 5.2.0'dan önce, bu, aşağıda belirtilen kayıt defteri anahtarından sonra kontrol edildi.
  • PHP 5.2.0'dan itibaren php.ini dosyasının konumu, PHP'nin farklı sürümleri için ayarlanabilir. Aşağıdaki kayıt defteri anahtarları sırayla incelenir: [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xyz], [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xy] ve [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x]; burada x, y ve z PHP ana bilgisayarı, küçük sürümler. Bu anahtarlardan herhangi birinde IniFilePath için bir değer varsa, bulunan ilk değer php.ini dosyasının konumu olarak kullanılır (yalnızca Windows).
  • [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP], IniFilePath değeri (yalnızca Windows).
  • Geçerli çalışma dizini (CLI hariç).
  • Web sunucusunun dizini (SAPI modülleri için) veya PHP dizini (aksi halde Windows'ta).
  • Windows dizini (C: \ windows veya C: \ winnt) (Windows için) veya --with-config-dosya-yolu derleme zamanı seçeneği.

PHPRCOrtam değişkenini veya kayıt defteri anahtarını denemelisiniz [HKEY_LOCAL_MACHINE\SOFTWARE\PHP].


0

Her şeyi başarılı olmadan denedim. apache httpd.conf, php.ini ve diğer bazı denemeleri değiştirdi, her zaman Yüklü Yapılandırma Dosyası - (yok) ile sonuçlandı. Son olarak, php dizinindeki tüm dosyaları C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ bin dizinine kopyaladım ve her şey çalışmaya başladı. Mükemmel bir şekilde. Ne yazık ki mükemmel bir çözüm değil, ama işe yaradı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.