Pertanyaan asli:
Saya mengalami masalah menginstal ekstensi PHP Pecl Intl di mesin CentOs 5 saya.
Setelah menginstal keduanya icu
dan libicu
dengan perintah berikut:
$ yum install icu
$ yum install libicu
Saya mencoba menginstal ekstensi Intl seperti:
$ /usr/bin/pecl install intl
Saya memilih untuk mencari lokasi default untuk perpustakaan ICU dan file header. Itu akhirnya menabrak seperti ini:
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
memperbarui
Setelah berhasil menginstal versi pengembangan icu seperti yang disarankan oleh RusAlex (terima kasih RusAlex) seperti:
$ yum install libicu-devel
Saya mengalami masalah baru yang juga saya temui secara lokal perintah berikut:
$ /usr/bin/pecl install intl
sekarang menghasilkan kesalahan ini:
/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
Tampaknya ada hubungannya dengan PHP 5.3 yang sudah dibundel dengan Intl. Tetapi bagaimana saya bisa mengaktifkan ekstensi ini, jika saya melihat Info PHP saya daripada saya tidak dapat menemukan referensi untuk itu ...
sumber
Anda benar, Anda tidak dapat menginstal paket PECL karena pada PHP 5.3 Intl adalah bagian dari PHP .
Jika Anda menginstal PHP menggunakan YUM, Anda bisa menarik paket intl:
sumber
Ini bekerja untuk saya di CentOS 5.6:
Setelah itu semua kesalahan yang harus dilakukan dengan
intl
menghilangsumber
yang kamu butuhkan adalah
sumber
/usr/bin/pecl install intl
Cari log
checking for icu-config... /usr/bin/icu-config*
.Anda akan memerlukan jalur direktori yang memiliki
/bin/icu-config
nanti.Unduh 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/
kompilasi dan instal modul intl. phpize
./configure --enable-intl --with-icu-dir=/usr
make
make test
sudo make install
Akhirnya, tambahkan
extension=intl.so
ke dalamphp.ini
.sumber
Sepertinya Anda perlu menginstal
icu-dev
atauicu-devel
mengemas atau serupa.Anda membutuhkan paket pengembangan.
sumber
$ yum install libicu-devel
apakah Anda sudah menginstal gcc, gcc-cpp, dan gcc-c ++ ... Setidaknya itu adalah salah satu masalah saya saat menginstal - http://itblogspot.net/php-install-intl
sumber
Saya memiliki masalah yang sama pada CentOS, dan saya berhasil menginstal INTL via pecl setelah:
1) pasang icu & libs:
2) paket php-devel dan phpize:
3) dan, tentu saja gcc:
(+1 ke yuri untuk gcc, gcc-cpp, dan gcc-c ++, maaf tidak dapat berkomentar karena tidak ada peringkat)
sumber