Dove si trova PHP.ini in Mac OS X Lion? Ho pensato che fosse in / usr / local / php5 / lib


268

Volevo eseguire un po 'di PHP direttamente sul mio Mac, httpd.conf senza commenti, condivisione web attivata, MySQL installato ecc. Non riesco a trovare i miei file PHP, soprattutto PHP.ini.

Sulla mia vecchia macchina si trovava in / usr / local / php5 / lib Ma la directory php5 non esiste in / usr / local ..

Devo procurarmi un pacco o sto cercando nel posto sbagliato?

Esecuzione di OS X 10.7.3, PHP 5.3.8, Apache / 2.2.21


9
Un modo semplice per trovare la posizione è eseguire phpinfo ();
ralfe,

10
Oppurelocate php.ini
Pekka,

12
@ralfe Va aggiunto che è necessario cercare l'impostazione "File di configurazione caricato" da phpinfo () o php --ini(esegui nella finestra del terminale). Perché se non c'è php.ini entrambi segnaleranno il percorso del file di configurazione come /etc(almeno sulla mia installazione di OS X 10.8). Se non viene caricato alcun file di configurazione, dovresti provare la risposta di mac
Jason S

/ usr / local / php5 è dove installatore php di entropy.ch e liip.ch installano (ed) php. Non è mai stata la posizione dell'installazione php di Apple.
Heiglandreas,

8
Fai questophp -i | grep php.ini

Risposte:


396

Dovresti trovarlo in / private / etc se esiste, altrimenti:

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

Ok, c'è un php.ini.default in / private / etc e lo sto verificando. ma qualche idea sul perché non ho la mia vecchia cartella php5 in usr / local? C'erano un sacco di file lì dentro incluso un php.ini raccomandato. È un cambiamento in una versione più recente o in PHP5 o Lion o qualcos'altro?
Orun,

PHP5 è incluso per impostazione predefinita in MacOS X dal 10.5 con la posizione sopra per il file php.ini. Se lo avessi installato manualmente, non avrebbe dovuto essere rimosso durante l'aggiornamento a Lion; strano ...
mac

2
Il file php.ini.default sulla mia macchina Lion non corrispondeva a tutte le impostazioni predefinite quando non era presente php.ini. In particolare short_tags era Off, error_reporting, log_errors e alcune impostazioni minori differivano. Dovrai confrontare l'output di php -iprima e dopo aver creato il tuo php.ini.
spoulson,

1
sul mio mac, avevo un file in /private/etc/php.ini ma php sembrava ignorare qualsiasi modifica che ho fatto lì, ho scoperto che stava usando quello in /usr/local/php5/lib/php.ini invece
Kit Ramos,

2
Questa risposta mi ha indicato la giusta direzione. cp php.ini.default> la configurazione caricata di php.ini e CLI è diventata /etc/php.ini. Controlla php -i | grep php.ini after
bpile

407

Per individuare il file ini sul tuo computer, apri Terminal.apped esegui il seguente comando:

php --ini

Se hai bisogno di un modello per Lion, prova questo .


2
Non ho caricato php.ini in questo momento. Fondamentalmente sto cercando la directory con il modello php.ini "consigliato".
Orun,

47

Nel terminal do php -i | grep php.ini. Dovresti darti alcuni indizi;)


26

Le risposte di @Cronk e @Justin mi hanno avvicinato a Mac OS X 10.9 Mavericks. In effetti, sul mio sistema il /etc/php.inifile mancava completamente e non è stato fino a quando non sono stato eseguito phpinfo()sul server Web che ho osservato che non c'era alcun file di configurazione. La copia del file /etc/php.ini.defaulte l'aggiunta del percorso completo alla mcrypt.solibreria nel file di configurazione ha risolto il problema:

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

Quindi /etc/php.iniaggiungi la seguente riga (usando il percorso corretto per il tuo mcrypt.sofile):

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

Quindi riavviare Apache2:

apachectl restart

omg, sei il mio eroe !! grazie per l'idea di utilizzare l'intero percorso di mcrypt!
Ecco il

25

Come sottolineato, il php --inicomando ti dirà dove PHP si aspetta di trovare il file php.ini.

Per un'installazione standard, è probabile che stia cercando /etc/php.ini

Se hai usato macports allora PHP potrebbe essere alla ricerca/opt/local/etc/php5/php.ini


7
etc è un link a private / etc: / etc -> private / etc
pm_labs

21

Esegui phpinfo()da qualsiasi file e ti dice dove si trova. Ecco uno screenshot.

inserisci qui la descrizione dell'immagine


3
questo è il modo migliore per andare, poiché potresti trovare copie di php.ini in altre cartelle "predefinite" ma in questo modo ti dirai quello che sta effettivamente usando, in questo modo eviti i graffi e la frustrazione che derivano da te apportare una modifica, ma php sembra essere totalmente inconsapevole di tale modifica.
Kit Ramos,

È inoltre possibile aprire il REPL php nella shell eseguendo php -adove si esegue quindi phpinfo();.
Metakermit,

14

Ho più di un'istanza di PHP in esecuzione, quindi le altre risposte non hanno funzionato per me. Questo ha fatto:

Crea un file PHP e apri l'URL locale nel tuo browser:

<?php phpinfo(); ?>

Il percorso PHP.INI verrà elencato vicino all'inizio.


3

Questo è un argomento piuttosto vecchio, ma vorrei aggiungere un ulteriore chiarimento.

Se disponi di un sistema con più installazioni PHP (come il mio), i risultati ottenuti utilizzando gli strumenti da riga di comando POSSONO ESSERE diversi da quelli effettivamente utilizzati dal web server. Se sei interessato a ciò che PHP viene utilizzato dal server Web, utilizza solo le informazioni raccolte da una pagina Web che utilizza la funzione 'phpinfo ()'.

Ad esempio, sul mio sistema le versioni riportate dai due diversi metodi erano:

Riga di comando: 5.3.26

Web: 5.3.13

Anche per il percorso del file php.ini le cose erano diverse:

Riga di comando: /private/etc/php.ini

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

Puoi trovare tutti i possibili file php.ini usando questo:

trova / -name php.ini 2> & 1 | grep -v "negato" | grep -v "directory"

(gli elementi '2> & 1' e 'grep' limitano l'output del comando a informazioni utili, ad esempio eliminando i messaggi di errore)

Sul mio sistema ho trovato 3 file INI. Poiché ero interessato a ciò che utilizzava il server Web, sapevo che avrei dovuto utilizzare il percorso restituito dai risultati della pagina Web. Ho apportato le mie modifiche al file php.ini che era elencato lì, ho riavviato apache ed eseguito nuovamente la pagina Web; le nuove modifiche sono state mostrate lì.

Per riavviare apache:

sudo apachectl -k restart

- J


1

Comincio con "Hello World!", Una volta che lo visualizzo nel mio browser, inserisco un messaggio phpinfo();e puoi vedere tutte le cose. Ti dice quali configurazioni sono caricate, tutto.

<?php
   echo 'Hello World!';

   phpinfo();

0

Esegui php_info () e vedi la seguente riga :)

Loaded Configuration File   /Applications/XAMPP/xamppfiles/etc/php.ini
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.