venerdì 13 novembre 2015

Gestire il file php.ini con MAMP

Utilizzando MAMP con il Mac è cosa non rara avere problemi con la configurazione del file php.ini.
Questo accade perché spesso MAMP utilizza due file di configurazione differenti per il terminale e per il web (apache).

Se io installo un'estensione e aggiungo la configurazione sul mio file php.ini che trovo nella cartella

/Applications/MAMP/bin/php/php5.6.10/conf/php.ini
controllando le info php facendo stampare phpinfo(); vedo che l'estensione è correttamente installata, ma se poi devo utilizzare php da terminale, per esempio con composer, continuo ad avere l'errore per il modulo mancante.
Quindi se anche io vedo il modulo correttamente installato, continua a non esistere, questo è possibile per il motivo che ho spiegato prima.

Se da terminale lanciamo il comando

php -m
possiamo leggere la lista di tutti i moduli installati, e effettivamente, se guardiamo bene, il modulo mancante che ci restituisce un errore, non è presente nella lista.

Se lanciamo
 php -i
otteniamo le info php nel terminale.
sul web, se guardiamo la voce Loaded Configuration File troveremo la corrispondenza con il file di configurazione /Applications/MAMP/bin/php/php5.6.10/conf/php.ini

Invece guardando nel terminale troviamo
Configuration File (php.ini) Path => /etc
Loaded Configuration File => (none)
Per risolvere il problema è necessario copiare nella cartella /private/etc un file di configurazione
Quindi da terminale
sudo cp /Applications/MAMP/bin/php/php5.6.10/conf/php.ini /private/etc/php.ini
Ora il php del terminale avrà un file di configurazione, ricordiamoci di modificare entrambi i file per ogni nuova configurazione.

Nessun commento:

Posta un commento