2012-07-02 16 views
27

Ho cercato di installare Composer sulla mia macchina (OS X 10.6) senza successo fino ad ora.Come disattivare l'impostazione "detect_unicode" da php.ini? (cercando di installare Composer)

Come da documentazione Compositore, ho eseguito questo nel terminale:

ricciolo -s http://getcomposer.org/installer | php #/usr/bin/env php

E questo è l'output:!

L'impostazione detect_unicode deve essere disabilitato. Aggiungere quanto segue alla fine del tuo php.ini: detect_unicode = Off

Naturalmente, questo è nel mio php.ini: detect_unicode = Off, situato a /etc/php.ini.default

php -info mi dice che il file php.ini viene caricato da/etc/(l'output è: File di configurazione (php.ini) Path =>/etc)

Ma, anche uscite: detect_unicode => On => On

Perché php.ini.default non sta caricando le mie impostazioni e come potrei disabilitare in modo efficace detect_unicode?

+0

È necessario riavviare php affinché le modifiche abbiano effetto. –

+0

Ho riavviato una o due volte ... c'è un modo per riavviare php? – Nacho

+0

Un riavvio uccide tutti i processi. Potrebbe andare a dormire. Prova a spegnerlo. –

risposta

22

Molto probabilmente no ini file è in fase di caricamento, non so se /etc/php.ini.default è visto o meno da php. Come ho detto in Can't set/find detect_unicode to Off - dovresti eseguire php -i | grep ini e verificare quale file è effettivamente caricato, quindi modificarlo. Se nessuno è caricato, assicurati di inserire un file php.ini nel valore Configuration File Path, nel tuo caso sembra che sia /etc/php.ini.

+0

Puoi spiegare cosa intendi con "inserisci un file php.ini nel valore del percorso del file di configurazione" per favore? Ho lo stesso problema di cui sopra. Ho provato a modificare il mio file php.ini ma non ha avuto successo. Deve essere caricato perché ho modificato altri aspetti di esso che sono entrati in vigore. – musoNic80

+39

@Seldaek Ho finito per fare: curl -s http://getcomposer.org/installer | php -d detect_unicode = Off per sovrascrivere il controllo detect_unicode. Ma grazie comunque. – Nacho

+3

@ign grazie mille - ora posso andare avanti con quello che stavo facendo !!! – musoNic80

17

Sotto OSX andare a /etc.

Terminale aperto.

>cd /etc 
>nano php.ini.default 

Modificare il php.ini.default (inserire detect_unicode = Off).

Salvare il file.

Ora rinominarlo in php.ini.

>mv /etc/php.ini.default /etc/php.ini 

Riavvia Terminal e quindi dovrebbe funzionare proberly.

+1

* Copia * il predefinito 'cp /etc/php.ini.default/etc/php.ini', quindi modifica la copia. In questo modo, se esegui una cattiva modifica, è facile riprendere l'originale. – cbednarski

59

Just Add "detect_unicode -d = Off" dopo il comando

curl -s https://getcomposer.org/installer | php -d detect_unicode=Off 
+0

Questo ha funzionato perfettamente, grazie. – Chris

+0

con il mio piacere :) –

+0

Perfetto! Grazie. – Labanino

0

Ci sono un paio di soluzioni on-line, ma il più semplice che ho trovato era su Stack Overflow. Il problema è che la CLI di PHP non carica lo stesso php.ini di default, e diversamente dalla maggior parte delle installazioni di Linux non c'è un php-cli.ini separato e apparentemente /etc/php.ini.default non carica così tanto.È possibile passare come un parametro di runtime però:

curl -s getcomposer.org/installer | php -d detect_unicode=Off 

fonte ->http://www.andrew-kirkpatrick.com/2012/10/install-composer-for-php-on-zend-server-mac-os-x/

2

Se non è possibile modificare il file /usr/local/bin/php/php.ini, ricordarsi 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