Imansible impostare / trovare detect_unicode su Off

Voglio iniziare a utilizzare phpDocumentor e l'installazione manuale continua a generare un errore sul fatto che non ho impostato detect_unicode = Off nel mio php.ini in Terminal.

Quando lo aggiungo al mio php.ini non ci vuole e ottengo lo stesso problema quando eseguo l'installazione. Nessuno sembra avere questo problema, e per la vita di me non riesco a capirlo.

https://github.com/phpDocumentor/phpDocumentor2/blob/develop/README.md#installation

Cosa mi manca? (Ho riavviato il server MAMP dopo la modifica di php.ini)

Screenshot dell'errore nel terminal …

inserisci la descrizione dell'immagine qui

Se hai installato MAMP / MAMP Pro, il problema è che la versione PHP disponibile sul tuo terminal sarà probabilmente la versione di sistema che si trova in:

/private/etc/ 

Ho avuto lo stesso problema ma nel mio caso non avevo un file php.ini in quella directory, quindi il modo migliore per risolverlo è semplicemente creare un collegamento simbolico alla versione PHP attualmente in uso nell'installazione MAMP / MAMP Pro :

 php.ini -> /Applications/MAMP/bin/php/php5.3.14/conf/php.ini 

Questo risolve il problema. Basta cambiare la versione php php5.3.14 a qualsiasi versione di PHP che hai scelto di usare in MAMP.

Come @moderndegree menziona sopra, puoi opzionalmente renderlo disponibile al terminal in futuro modificando la variabile del tuo path in bash / zsh / etc:

 export PATH="/Applications/MAMP/bin/php/php5.3.14/bin:$PATH" 

Non devi modificare il php.ini corretto se è ancora abilitato. Esegui php -i | grep ini php -i | grep ini per trovare tutti i file ini che sono stati caricati.

Le linee rilevanti sono quelle due:

 Loaded Configuration File => ... Additional .ini files parsed => ... 

Il problema è che probabilmente stai colpendo una diversa installazione di PHP.

Prova quanto segue:

 which php 

Se ottieni qualcosa di diverso da, /Applications/MAMP/bin/... , devi aggiornare il tuo ambiente per puntare all'installazione di MAMP.

Per fare ciò, dovrai aggiungere quanto segue a .bash_profile (aggiorna il path per adattarlo alla tua configuration):

 export PATH="/Applications/MAMP/bin/php/php5.3.6/bin:$PATH" 

Ricarica .bash_profile con il seguente command:

 source .bash_profile 

Dopo aver fatto ciò, dovresti puntare alla corretta installazione di PHP. Prova which php nuovo per confermare. Ora esegui php -i | grep ini php -i | grep ini per confermare che sia stato caricato il file php.ini corretto. Come affermato da Seldaek, le linee rilevanti sono:

 Loaded Configuration File => ... Additional .ini files parsed => ... 

Come ricordo, MAMP usa templates di configuration. Quindi dovresti modificare il model php.ini. Il php.ini effettivo verrà rigenerato dal model each volta che si riavvia MAMP.

Ho affrontato lo stesso problema per compositore-php e aggiungo questa row manualmente nel file php.ini. Come questo:

 sudo /private/etc/php.ini 

quindi aggiungi questa row "detect_unicode = Off"

 detect_unicode = Off 

poi il suo lavoro e ho installato compositore. Puoi vedere come disabilitare l'impostazione "detect_unicode" da php.ini? (cercando di installare Composer)

Se non riesci a modificare il tuo file /usr/local/bin/php/php.ini, ricorda di continuare a utilizzare '-d detect_unicode = Off' per tutte le tue chiamate php in questo modo:

 curl -s https://getcomposer.org/installer | php -d detect_unicode=Off php -d detect_unicode=Off composer.phar install 

Se sei in grado di modificare il file php.ini, aggiungi quanto segue alla fine del tuo php.ini :

 detect_unicode = Off