Mac OS X Lion'da PHP.ini nerede? / Usr / local / php5 / lib içinde olduğunu düşündüm


268

Mac'imde bazı PHP, uncommented httpd.conf, aktif web paylaşımı, yüklü MySQL vb. Çalıştırmak istedim. PHP dosyalarımı, en önemlisi PHP.ini'yi bulamıyorum.

Eski makinemde / usr / local / php5 / lib konumundaydı ama php5 dizini / usr / local konumunda mevcut değil.

Bir paket almam gerekiyor mu yoksa yanlış yere mi bakıyorum?

İşletim Sistemi X 10.7.3, PHP 5.3.8, Apache / 2.2.21


9
Konumu bulmanın kolay bir yolu phpinfo () çalıştırmaktır;
ralfe

10
Veyalocate php.ini
Pekka

12
@ralfe phpinfo () veya php --ini(terminal penceresinde çalıştır ) 'Yüklü Yapılandırma Dosyası' ayarını aramanız gerekir . Çünkü php.ini yoksa her ikisi de Yapılandırma Dosyası Yolu'nu /etc(en azından OS X 10.8 kurulumumda) olarak bildirir . Yüklü bir yapılandırma dosyası yoksa, cevabı mac ile
Jason S

/ usr / local / php5, entropy.ch ve liip.ch kurulum (ed) php'nin php-yükleyicisinin bulunduğu yerdir. Hiç Apples php-yükleme yeri olmamıştır.
heiglandreas

8
Bunu yapınphp -i | grep php.ini

Yanıtlar:


396

Varsa / private / etc içinde bulmalısınız, aksi takdirde:

sudo cp /private/etc/php.ini.default /private/etc/php.ini

Tamam, / private / etc içinde bir php.ini.default var ve ben kontrol ediyorum. ama neden usr / local benim eski php5 klasörü yok herhangi bir fikir? Orada önerilen bir php.ini de dahil olmak üzere bir sürü dosya vardı. Bu daha yeni bir sürümde veya PHP5 veya Lion'da veya başka bir şeyde bir değişiklik mi?
Orun

PHP5, php.ini dosyası için yukarıdaki konumla 10.5'ten beri MacOS X'te varsayılan olarak bulunur. Manuel olarak yüklediyseniz, Lion'a yükseltme sırasında kaldırılmamış olmalıdır; garip ...
mac

2
Lion makinemdeki php.ini.default dosyası, hiçbir php.ini olmadığında tüm varsayılan ayarlarla eşleşmedi. Short_tags özellikle Off, error_reporting, log_errors ve bazı küçük ayarlar farklıydı. php -iPhp.ini dosyanızı oluşturmadan önce ve sonra çıktılarınızı karşılaştırmak isteyeceksiniz .
spoulson

1
Mac'imde, /private/etc/php.ini'de bir dosyam vardı, ancak php orada yaptığım değişiklikleri görmezden geldi, bunun yerine /usr/local/php5/lib/php.ini dosyasındaki dosyayı kullandığını gördü
Kit Ramos

2
Bu cevap beni doğru yöne çekti. cp php.ini.default> php.ini ve CLI yüklü yapılandırma /etc/php.ini oldu. Kontrol php -i | grep php.ini after
bpile

407

Makinenizdeki ini dosyasını bulmak için Terminal.appaşağıdaki komutu açın ve çalıştırın:

php --ini

Eğer Lion için bir şablon gerekiyorsa, deneyin bu .


2
Şu anda yüklü php.ini yok. Temelde "önerilen" php.ini şablonu ile dizin arıyorum.
Orun

47

Terminalde yapın php -i | grep php.ini. Size bazı ipuçları vermeli;)


26

Mac OS X 10.9 Mavericks'te @Cronk ve @Justin'den cevaplar beni kapadı. Aslında, sistemimde /etc/php.inidosya tamamen eksikti phpinfo()ve web sunucusunda koşana kadar hiçbir yapılandırma dosyası olmadığını gözlemlemedim. Dosyayı kopyalama /etc/php.ini.defaultve ekleme tam yolunu etmek mcrypt.sosorunu çözdü yapılandırma dosyasına kütüphanede:

cp /etc/php.ini.default /etc/php.ini

Ardından /etc/php.iniaşağıdaki satırı ekleyin ( mcrypt.sodosyanızın doğru yolunu kullanarak ):

extension="/usr/local/Cellar/php54-mcrypt/5.4.29/mcrypt.so"

Ardından Apache2'yi yeniden başlatın:

apachectl restart

Aman tanrım, sen benim kahramanımsın !! mcrypt'in tam yolunu kullanma fikri için teşekkür ederim!
Hese

25

Belirtildiği gibi, php --inikomut PHP'nin php.ini dosyasını nerede bulmayı beklediğini size söyleyecektir.

Standart bir kurulum için, /etc/php.ini

Macport kullandıysanız PHP arıyor olabilir/opt/local/etc/php5/php.ini


7
vb özel / etc bir bağlantıdır: / etc -> private / etc
pm_labs

21

phpinfo()Herhangi bir dosyadan çalıştırın ve nerede olduğunu söyler. İşte bir ekran görüntüsü.

resim açıklamasını buraya girin


3
php.ini'nin kopyalarını diğer "varsayılan" klasörlerde bulabileceğiniz için bu en iyi yoldur, ancak bu şekilde size gerçekten kullandığını söyleyecektir, böylece baş çizilmesinden ve bir değişiklik yapmak ama php söz konusu değişikliğin tamamen farkında gibi görünmüyor.
Kit Ramos

Daha php -asonra çalıştırdığınız yerde çalıştırarak kabuktaki php REPL'i de açabilirsiniz phpinfo();.
metakermit

14

Ben diğer cevapları benim için işe yaramadı bu yüzden PHP çalışan birden fazla örneği var. Bu yaptı:

Bir PHP dosyası oluşturun ve yerel URL'sini tarayıcınızda açın:

<?php phpinfo(); ?>

PHP.INI yolu en üste yakın listelenir.


3

Bu oldukça eski bir iplik, ama daha fazla açıklama eklemek istiyorum.

Birden fazla PHP yüklemesi (benimki gibi) olan bir sisteminiz varsa, komut satırı araçlarını kullanarak elde ettiğiniz sonuçlar web sunucusu tarafından kullanılandan farklı olabilir. Web sunucusu tarafından hangi PHP'nin kullanıldığına ilgi duyuyorsanız, yalnızca 'phpinfo ()' işlevini kullanan bir web sayfasından toplanan bilgileri kullanın.

Örneğin, sistemimde iki farklı yöntemle bildirilen sürümler şunlardı:

Komut satırı: 5.3.26

Web: 5.3.13

Php.ini dosya yolu için de farklı şeyler vardı:

Komut satırı: /private/etc/php.ini

Web: /long/path/to/the/file/php.ini

Bunu kullanarak tüm olası php.ini dosyalarını bulabilirsiniz:

bul /-adı php.ini 2> & 1 | grep -v "reddedildi" | grep -v "dizin"

('2> & 1' ve 'grep' öğeleri komutun çıktısını yararlı bilgilerle sınırlar, yani hata mesajlarından kurtulun)

Sistemimde 3 INI dosyası buldum. Web sunucusunun neyle ilgilendiğinden, web sayfası sonuçlarından döndürülen yolu kullanmam gerektiğini biliyordum. Orada listelenen php.ini dosyasında değişikliklerimi yaptım, apache'yi yeniden başlattım ve web sayfasını yeniden çalıştırdım; yeni düzenlemeler orada gösterildi.

Apache'yi yeniden başlatmak için:

sudo apachectl -k yeniden başlatma

- J


1

I ile başlayan 'Merhaba Dünya!' Tarayıcımdaki gösteren bir atmak olduğunu aldıktan sonra phpinfo();orada ve şeylerin hepsini görebilirsiniz. Hangi yapılandırmaların yüklendiğini, her şeyi gösterir.

<?php
   echo 'Hello World!';

   phpinfo();

0

Php_info () komutunu çalıştırır ve aşağıdaki satırı görürsünüz :)

Loaded Configuration File   /Applications/XAMPP/xamppfiles/etc/php.ini
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.