Ursprüngliche Frage:
Ich habe Probleme bei der Installation der PHP Pecl Intl-Erweiterung auf meinem CentOs 5-Computer.
Nach der Installation beider icu
und libicu
mit den folgenden Befehlen:
$ yum install icu
$ yum install libicu
Ich habe versucht, die Intl-Erweiterung folgendermaßen zu installieren:
$ /usr/bin/pecl install intl
Ich habe ausgewählt, um nach dem Standardspeicherort für die ICU-Bibliotheken und Header-Dateien zu suchen. Es endet so:
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
aktualisieren
Nach erfolgreicher Installation der von RusAlex vorgeschlagenen Entwicklungsversion von icu (danke RusAlex) wie folgt:
$ yum install libicu-devel
Ich bin auf ein neues Problem gestoßen, auf das ich auch lokal mit dem folgenden Befehl gestoßen bin:
$ /usr/bin/pecl install intl
erzeugt jetzt diesen Fehler:
/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
Es scheint etwas damit zu tun zu haben, dass PHP 5.3 bereits mit Intl gebündelt ist. Aber wie kann ich diese Erweiterung aktivieren, wenn ich in meinen PHP-Informationen nachschaue, kann ich keinen Verweis darauf finden ...
quelle
Sie haben Recht, Sie können das PECL-Paket nicht installieren, da Intl ab PHP 5.3 Teil von PHP ist .
Wenn Sie PHP mit YUM installiert haben, können Sie einfach das intl-Paket herunterladen:
quelle
Dies funktionierte für mich unter CentOS 5.6:
Danach
intl
verschwanden alle Fehlerquelle
alles was Sie brauchen ist
quelle
/usr/bin/pecl install intl
Suchprotokoll
checking for icu-config... /usr/bin/icu-config*
.Sie benötigen einen Pfad des Verzeichnisses, das
/bin/icu-config
später vorhanden ist.PHp herunterladen:
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/
Kompilieren und installieren Sie das intl-Modul. phpize
./configure --enable-intl --with-icu-dir=/usr
make
make test
sudo make install
Schließlich fügen Sie
extension=intl.so
inphp.ini
.quelle
Es scheint, als müssten Sie installieren
icu-dev
odericu-devel
verpacken oder ähnliches.Sie benötigen ein Entwicklungspaket.
quelle
$ yum install libicu-devel
Haben Sie gcc, gcc-cpp und gcc-c ++ installiert? Zumindest war dies eines meiner Probleme bei der Installation - http://itblogspot.net/php-install-intl
quelle
Ich hatte das gleiche Problem unter CentOS und habe INTL über pecl erfolgreich installiert, nachdem:
1) installiere icu & libs:
2) php-devel package und phpize:
3) und natürlich gcc:
(+1 bis yuri für gcc, gcc-cpp und gcc-c ++, leider kann kein Kommentar abgegeben werden, da keine Bewertung vorliegt)
quelle