2012-04-30 14 views
14

È possibile modificare la posizione di php.ini per essere utilizzata da Apache? Quando ho fatto php -i | grep 'Configuration File', il risultato è:Modifica posizione php.ini

Path =>/usr/local/etc

Loaded Configuration File => /usr/local/etc/php.ini

Ma il risultato di phpinfo() è

file di configurazione (php.ini) Path:/etc

Posso copiare oltre php.ini da /usr/local/etc/ a /etc/, ma è possibile modificare la cartella php.ini?

Ho installato PHP utilizzando homebrew e sto usando OS X Snow Leopard.

+0

Se è installato come modulo, utilizzare PHPIniDir. – Corbin

+0

@ Zendy come hai risolto questo? – user269867

risposta

12

PHP utilizza diversi file .ini quando è in esecuzione tramite riga di comando o in esecuzione come modulo server Web. Quando si grep i risultati di php -i si ottiene la riga di comando ini. È buona norma avere ini separati per i due ambienti.

Se è necessario modificare la directory PHP cerca il file php.ini, è possibile utilizzare lo PHPIniDir nel file di configurazione del server web.

Se si desidera aggiungere solo directory aggiuntive da sottoporre a scansione, è possibile impostare la variabile di ambiente PHP_INI_SCAN_DIR.

+1

ok, e dove aggiungo 'PHPIniDir' o' PHP_INI_SCAN_DIR'? Devo semplicemente aggiungerlo a 'httpd.conf'? – Zendy

+0

Oh, e se non ti dispiace che me lo chieda, perché è buona prassi avere ini separati per due diversi ambienti? – Zendy

+0

'PHPIniDir' va in' httpd.conf'. 'PHP_INI_SCAN_DIR' è una variabile di ambiente e deve essere esportata tramite l'utente che esegue apache. Le configurazioni multiple sono comuni semplicemente perché gli ambienti sono abbastanza diversi da giustificare le proprie impostazioni (una viene avviata dall'utente, l'altra da richieste web anonime). – webbiedave

3

per modificare il percorso del file php.ini dobbiamo dichiarare PHPINIDir nel file di configurazione di apache 'httpd.conf' sintassi per che è:

PHPINIDir "path_to_ini_file";