2013-08-20 14 views
5

Sto utilizzando PHP 5.4.18 e sto cercando di utilizzare l'oggetto Locale.Come abilitare la classe locale PHP

ho provato le seguenti chiamate:

$locale = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']); 
$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']); 

ottengo 'Chiama per undefined function' gli errori e 'classe Locale non finanzia', rispettivamente.

Ho trovato una menzione da qualche parte che l'estensione php_intl deve essere abilitata. L'ho fatto.

Ho anche guardato il manuale locale (http://www.php.net/manual/en/class.locale.php), ma non si parla di dover abilitare nulla.

Quale preparazione devo eseguire per abilitare la classe Locale?

Okie. Ho trovato che il file php_intl non si sta caricando. Tuttavia, è presente nella directory php/ext e il percorso che mostra nel log degli errori è corretto.

Come nota: sto usando WAMP.

risposta

2

trovato la risposta qui: http://forum.wampserver.com/read.php?2,80704,116793

Quindi, una soluzione è quella di aggiungere "C: \ wamp \ bin \ php \ php5.3.9" (o directory simile) al percorso di sistema.

L'altra soluzione è copiare i file icu * .dll nella directory bin di apache.

Una terza opzione è copiare i file icu * .dll nella directory di sistema di Windows (system32 o SysWOW64).

8

Su Ubuntu Linux:

sudo apt-get install php5-intl 
service apache2 restart