composer php - Compositor: falta la extensión de PHP solicitada ext-intl*en su sistema
install intl php 7 (7)
El problema con wamp generalmente es que usa un php.ini diferente para la línea de comandos php que para la web / apache php. Así que ves la extensión intl en phpinfo () en el navegador, pero si ejecutas php -m
en la línea de comandos, deberías ver que la lista de extensiones no incluye intl.
Puede verificar usando php -i
en la parte superior de la salida; debería indicarle desde dónde se carga el archivo ini. Asegúrate de habilitar la extensión intl en ese archivo ini y deberías estar listo.
Estoy tratando de usar el archivo composer.json
. pero cuando intento ejecutar el comando '' composer install
'' en mi path/project/
, recibo un error:
Ya configuré mi wamp
para '' extension=php_intl.dll
'' y copié todos los icu*.dll
en '' D:/wamp/bin/apache/apache2.2.22/bin
'' de '' D:/wamp/bin/php/php5.3.13
''y se muestra en phpinfo()
:
sin copia icu*.dll
también funciona y se muestra en phpinfo()
;
Por favor, avíseme si tengo la instalación intl
en mi wamp
y la composer install
en mi PC, entonces por qué me wamp
este error. Realmente, es tan molesto.
Aquí están mis detalles:
- SO: windows 7 (64)
- PHP: 5.3.13
- Apache: 2.2.22
- Compositor: instalado por archivo ejecutable.
- Pera: instalada (última)
- PHPUnit: instalado (más reciente)
Mi composer.json
es el siguiente:
{
"name" : "sebastian/money",
"description" : "Value Object that represents a monetary value (using a currency''s smallest unit)",
"keywords" : ["money"],
"homepage" : "http://www.github.com/sebastianbergmann/money",
"license" : "BSD-3-Clause",
"authors" : [{
"name" : "Sebastian Bergmann",
"email" : "[email protected]"
}
],
"require" : {
"php" : ">=5.3.3",
"ext-intl" : "*"
},
"require-dev" : {
"phpunit/phpunit" : "~4.0"
},
"autoload" : {
"classmap" : [
"src/"
]
},
"extra" : {
"branch-alias" : {
"dev-master" : "1.3.x-dev"
}
}
}
Déjame saber si se requiere algún otro detalle ..
Cualquier comentario / ayuda sería muy apreciado.
En linux (Debian Jessie por ejemplo):
apt-get install php7.0-intl
le hará el trabajo debido creará un enlace simbólico a él.
Encontré esto al usarlo en Mac, lo resolví usando la opción --ignore-platform-reqs
.
composer install --ignore-platform-reqs
Esta es una pregunta poco antigua, pero tuve un problema similar en el servidor base de Linux al instalar Magento 2.
Cuando estoy activando la composer update
o el comando de composer install
desde mi directorio raíz de magento. Estaba disparando por debajo del error.
Problem 1
- The requested PHP extension ext-intl * is missing from your system. Install or enable PHP''s intl extension.
Problem 2
- The requested PHP extension ext-mbstring * is missing from your system. Install or enable PHP''s mbstring extension.
Problem 3
- Installation request for pelago/emogrifier 0.1.1 -> satisfiable by pelago/emogrifier[v0.1.1].
- pelago/emogrifier v0.1.1 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
...
Luego, busqué las extensiones intl & intl disponibles, usando los siguientes comandos.
yum list php*intl
yum install php-intl.x86_64
yum list php*mbstring
yum install php-mbstring.x86_64
Y se solucionó el problema.
Para habilitar la extensión intl siga las instrucciones a continuación.
Para habilitar la extensión, elimine el comentario de la siguiente extensión de línea = php_intl.dll en el archivo C: / xampp / php / php.ini. Una vez que elimine el comentario de la extensión = php_intl.dll, debe reiniciar el servidor apache usando el panel de control de XAMPP.
//about line 998
;extension=php_intl.dll
change as
extension=php_intl.dll
(Nota: archivo php.ini principalmente en el siguiente directorio C: / xampp / php)
Reiniciar xampp
Si tiene este error mientras ejecuta el comando de instalación de composer, no se preocupe. Pasos a seguir y requisitos:
- Paso 1: vaya a la carpeta del servidor como xampp (o) wampp, etc.
- Paso 2: abre la carpeta php dentro de eso y ve a la carpeta ext.
- Paso 3: Si encuentra un archivo llamado php_intl.dll no hay problema.
Solo ve al archivo php.ini y descomenta la línea
Desde:
;extension=php_intl.dll
A:
extension=php_intl.dll
- Paso 4: reiniciar xampp, eso es todo
Nota: Si no encuentra ninguno de los archivos nombrados como php_intl.dll , deberá actualizar la versión de PHP.
Simplemente descomente esta línea (para encontrarla, simplemente busque esta línea en el editor):
;extension=php_sockets.dll
(Eliminar el punto y coma para descomentar)
Para mí, no es necesario reiniciar XAMPP (en su caso, WAMP). Pero si no funcionó, reinícialo.