Instalación de CakePHP 3.0: falta la extensión intl del sistema

Usando los documentos de CakePHP, estoy tratando de instalar 3.0-beta2 usando el compositor, pero obtuve este error:

cakephp/cakephp 3.0.x-dev requires ext-intl * -> the requested PHP extension intl is missing from your system

Sin embargo, sé con certeza que intl está instalado (se muestra en phpinfo). Estoy usando PHP 5.4.33 / Apache 2.4.10.1

Gracias de antemano por cualquier idea que pueda proporcionar.

Hoy enfrenté el mismo problema. Debe habilitar la extensión de PHP intl en su configuración de PHP ( .ini ).

Solución Xampp (Windows)

  1. Abra /xampp/php/php.ini
  2. Cambiar ;extension=php_intl.dll a extension=php_intl.dll (eliminar el punto y coma)
  3. Copie todos los archivos /xamp/php/ic*.dll a /xampp/apache/bin
  4. Reinicie Apache en el panel de control de Xampp

Solución Linux (gracias a Annamalai Somasundaram)

  1. Instale la extensión php5-intl sudo apt-get install php5-intl

    1.1. Alternativamente, use sudo yum install php5-intl si está en CentOS o Fedora.

  2. Reiniciar apache sudo service apache2 restart

Solución Mac / OSX (homebrew) (gracias a deizel)

  1. Instalar la extensión php5-intl brew install php56-intl
  2. Si obtiene No available formula for php56-intl siga estas instrucciones.
  3. Reiniciar apache sudo apachectl restart

Finalmente, puede ejecutar la composer install para comprobar si está funcionando. Le dará un error si no es así.

Enfrenté el mismo problema en ubuntu 12.04

Instalado: sudo apt-get install php5-intl

Reinició Apache: sudo service apache2 restart

OS X Homebrew (mayo de 2015):

La extensión intl se ha eliminado de las fórmulas principales de php5x , por lo que ya no comstack con el indicador --enable-intl .

Si no puede encontrar el nuevo paquete:

 $ brew install php56-intl Error: No available formula for php56-intl 

Siga estas instrucciones: https://github.com/Homebrew/homebrew-php/issues/1701

 $ brew install php56-intl ==> Installing php56-intl from homebrew/homebrew-php 

Cuando se usa MAMP

1 Ir a la terminal

 vim ~/.bash_profile i export PATH=/Applications/MAMP/bin/php/php5.6.2/bin:$PATH 

Cambia php5.6.2 a la versión de php que usas con MAMP

Presiona ESC, :wq , presiona Enter

 source ~/.bash_profile 

cual php

2 Instalar puertos de Mac

https://www.macports.org/install.php

sudo port install php5-intl O sudo port install php53-intl

 cp /opt/local/lib/php/extensions/no-debug-non-zts-20090626/intl.so /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/ {take a good look at the folder names that u use the right ones} 

3 Agregar extensión

Ahora, agregue la extensión a su archivo php.ini :

 extension=intl.so 

Enlace útil: https://gist.github.com/irazasyed/5987693

Respuesta corta: active la extensión intl en php_cli.ini. Gracias a @ndm por su aporte.

Para la terminal de Ubuntu:

Por favor sigue los pasos:

Paso 1:

cd ~

Paso -2: ejecuta los siguientes comandos

sudo apt-get install php5-intl

Paso -3: luego debes reiniciar Apache

sudo service apache2 restart


Para Windows (XAMPP):

Encuentra el archivo Php.ini:

/xampp/php/php.ini

Actualice el archivo php.ini con remove (;) semi colon como se menciona a continuación:

; extension = php_intl.dll a extension = php_intl.dll

y guarde el archivo php.ini.

Después de eso necesitas

Reinicie el xampp usando el control xampp .

El mensaje de error indica claramente cuál es el problema. Necesitas la extensión intl instalada.

Paso 1: instala PHP intl tu versión cómoda

$ sudo apt-get install php-intl

paso 2:

Para la extensión intl del servidor XAMPP ya está instalado, debe habilitar esta extensión para descomentar debajo de la línea en su archivo php.ini. El archivo Php.ini se encuentra en c: \ xampp \ php \ php.ini o donde ha instalado XAMPP.

Antes de descomentar:

; extension = php_intl.dll; extension = php_mbstring.dll

Después de descomentar:

extension = php_intl.dll extension = php_mbstring.dll

En mi caso, mi versión de php en ejecución es 7.1.x en mac OSX . Instalé el comando intl usando brew install php71-intl . Colocar la extensión = intl.so dentro de php.ini no tuvo ningún efecto. Finalmente busqué el directorio de extensión instalada y allí vi intl.so y coloqué esa ruta (extensión = / usr / local / Cellar / php71-intl / 7.1.11_20 / intl.so) en mi archivo php.ini y resolvió mi problema.

Hacer esto

En XAMPP, se incluye la extensión intl pero tiene que descomentar extension = php_intl.dll en php.ini y reiniciar el servidor a través del Panel de control de XAMPP. En WAMP, la extensión intl está “activada” por defecto pero no funciona. Para que funcione debes ir a la carpeta php (de forma predeterminada) C: \ wamp \ bin \ php \ php {version}, copiar todos los archivos que se parecen a icu * .dll y pegarlos en el directorio bin de apache C: \ wamp \ bin \ apache \ apache {version} \ bin. Luego, reinicie todos los servicios y debería estar bien.

si usa XAMPP haga esto 1. apague XAMPP 2. Modificado el php.ini se encuentra en c /: xampp / php / php.ini 3. la extensión intl está incluida pero debe descomentar la extensión = php_intl.dll en php. ini y reinicie el servidor a través del Panel de control de XAMPP.

En mi caso, en realidad no estaba tratando de ejecutar cakephp localmente, solo intentaba actualizar automáticamente usando el compositor localmente (porque estoy jugando con los complementos de escritura que instalas con el compositor). Como en realidad ni siquiera lo ejecuto localmente, simplemente podría ignorar los requisitos agregando el indicador –ignore-platform-reqs.

php composer.phar update --ignore-platform-reqs

Medios internacionales: extensión de internacionalización que permite a los progtwigdores realizar intercalaciones conforme a UCA y formato de número, moneda, fecha y hora en scripts PHP.

Para habilitar PHP Intl con PECL se puede utilizar.

 pecl install intl 

En un sencillo RHEL / CentOS / Fedora, PHP Intl se puede instalar usando yum

 yum install php-intl 

En Ubuntu, PHP Intl se puede instalar usando apt-get

  apt-get install php5-intl 

Reinicie el servicio Apache para que los cambios surtan efecto.

Eso es

Para aquellos que reciben el Package not found intente con sudo apt-get install php7-intl luego ejecute la composer install en su directorio de proyecto.

Tuve el mismo problema en Windows. El error fue que había instalado varias versiones de PHP y las variables de entorno estaban enrutando a una ruta de acceso de php incorrecta.

Estoy usando Mac OS High Sierra y ninguno de estos me funcionó. ¡Pero después de buscar mucho encontré uno que funcionó!

Esto puede parecer trivial, pero de hecho hace aproximadamente 2 meses algunos tipos inteligentes hicieron cambios en el depósito de brew, por lo que simplemente: brew install php71-intl le mostrará un error con el mensaje de que tal receta no existe.

Afortunadamente, hay. Hay una solución temporal en otro repository de cerveza, así que todo lo que tienes que hacer es:

 brew tap kyslik/homebrew-php brew install kyslik/php/php71-intl 

FUENTE: http://blastar.biz/2018/04/14/how-to-enable-php-intl-extension-for-php-7-1-using-xampp-on-macos-high-sierra/