Installare / abilitare l'estensione PHP Pecl Intl su CentOs 5


8

Domanda originale:

Ho problemi a installare l'estensione PHP Pecl Intl sulla mia macchina CentOs 5.

Dopo aver installato entrambi icue libicucon i seguenti comandi:

$ yum install icu
$ yum install libicu

Ho provato a installare l'estensione Intl in questo modo:

$ /usr/bin/pecl install intl

Ho scelto di cercare il percorso predefinito per le librerie ICU e i file di intestazione. Finisce per schiantarsi in questo modo:

checking whether to enable internationalization support... yes, shared
checking for icu-config... no
checking for location of ICU headers and libraries... not found
configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.
ERROR: `/tmp/pear/temp/intl/configure --with-icu-dir=DEFAULT' failed

aggiornare

Dopo aver installato con successo la versione di sviluppo di icu come suggerito da RusAlex (grazie a RusAlex) in questo modo:

$ yum install libicu-devel

Ho riscontrato un nuovo problema che ho riscontrato anche localmente il seguente comando:

$ /usr/bin/pecl install intl

ora produce questo errore:

 /private/tmp/pear/temp/intl/collator/collator_class.c:92: error: duplicate 'static'
 /private/tmp/pear/temp/intl/collator/collator_class.c:96: error: duplicate 'static'
 /private/tmp/pear/temp/intl/collator/collator_class.c:101: error: duplicate 'static'
 /private/tmp/pear/temp/intl/collator/collator_class.c:107: error: duplicate 'static'
 make: *** [collator/collator_class.lo] Error 1
 ERROR: `make' failed

Sembra avere qualcosa a che fare con PHP 5.3 già in bundle con Intl. Ma come posso abilitare questa estensione, se guardo nelle mie informazioni PHP che non riesco a trovare alcun riferimento ad essa ...

Risposte:


11
sudo yum install libicu
sudo yum install libicu-devel.x86_64
sudo /usr/bin/pecl install intl
sudo echo 'extension=intl.so' >> /etc/php.ini

E sei a posto. E meglio inserire l'estensione = intl.so manualmente in php.ini o ancora più elegante creare un nuovo file .ini nella directory /etc/php.d/.


Ha funzionato per me. Centos 5,8 x86_64 con CPanel.
djskinner,

per me, sulla linea 3: sudo / usr / bin / pecl install intl dice 'comando non trovato', mi manca qualcosa per favore?
Dashrath,


3

Questo ha funzionato per me su CentOS 5.6:

yum install gcc gcc-cpp gcc-c++

Dopodiché tutti gli errori a che fare con sono intlscomparsi



1
  1. /usr/bin/pecl install intl

  2. Registro delle ricerche checking for icu-config... /usr/bin/icu-config*.
    Avrai bisogno di un percorso della directory che ha in /bin/icu-configseguito.

  3. Scarica php:

    wget http://us2.php.net/get/php-5.3.6.tar.gz/from/jp.php.net/mirror

    tar xvzf php-5.3.6.tar.gz

    cd php-5.3.6/ext/intl/

  4. compilare e installare il modulo intl. phpize

    ./configure --enable-intl --with-icu-dir=/usr

    make

    make test

    sudo make install

  5. Infine, aggiungi extension=intl.soin php.ini.


1

Sembra che sia necessario installare icu-devo icu-develpacchetto o qualcosa di simile.

È necessario un pacchetto di sviluppo.


Grazie, questo mi ha portato un po 'oltre, ho aggiornato il post di conseguenza. Per ragioni di riferimento: il comando per installare la versione di sviluppo che ho usato è$ yum install libicu-devel
Marijn Huizendveld,


0

Ho avuto lo stesso problema su CentOS e ho installato con successo INTL tramite pecl dopo:

1) installa icu & libs:

yum -y install icu libicu libicu-devel 

2) pacchetto php-devel e phpize:

yum -y install php-devel phpize

3) e, ovviamente, gcc:

yum -y install gcc gcc-cpp gcc-c++

(+1 su yuri per gcc, gcc-cpp e gcc-c ++, scusa non posso commentare a causa di nessuna valutazione)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.