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.inicontrollando 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 -mpossiamo 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 -iotteniamo 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
Per risolvere il problema è necessario copiare nella cartella /private/etc un file di configurazioneConfiguration File (php.ini) Path => /etcLoaded Configuration File => (none)
Quindi da terminale
Ora il php del terminale avrà un file di configurazione, ricordiamoci di modificare entrambi i file per ogni nuova configurazione.sudo cp /Applications/MAMP/bin/php/php5.6.10/conf/php.ini /private/etc/php.ini
Nessun commento:
Posta un commento