2 file php.ini
-
28-09-2019 - |
Domanda
ho scoperto che:
Quando si digita il seguente sul morsetto:
php -i | grep php.ini
Ho l'uscita:
Il file di configurazione caricato è @ /etc/php5/cli/php.ini
Tuttavia, da phpinfo()
, riesco a vedere:
Il file ini caricato è @ /etc/php5/apache2/php.ini
Quale di questi sta lavorando in questo momento? Come è possibile avere due file php.ini
?
Soluzione
dipende da dove si esegue PHP da. Se lo si esegue da linea di comando, utilizza il cli/php.ini
e apache2/php.ini
quando eseguito attraverso apache.
si sta eseguendo phpinfo()
attraverso il browser, quindi si ottiene /etc/php5/apache2/php.ini
come la risposta. Esecuzione php -r "phpinfo();" | grep "Loaded Configuration"
dal terminale deve emettere la CLI ini. La stessa funzione, i cambiamenti di contesto.
Il vantaggio di questo sistema è ovviamente consentire configurazioni diverse a seconda del contesto. Per un esempio semplificato, si potrebbe desiderare di avere safe_mode
su in Apache, ma è inutile in modalità CLI.
I tuoi percorsi .ini
sono in realtà abbastanza inusuale. Normalmente, il .ini di default è solo php.ini
e CLI .ini si chiama php-cli.ini
e risiedono nella stessa cartella.
Non sono un esperto in materia, ma questo dovrebbe essere l'idea di base. Se qualcuno ha qualche correzione, sarei felice di sentire loro.