php - reconoce - instalar composer ubuntu
Errores al instalar Composer en macOS(error en la compilaciĆ³n JIT) (5)
Cuando ejecuto
composer --version
en el terminal macOS obtengo los siguientes errores:
Advertencia de PHP: preg_match (): La compilación JIT falló: no hay más memoria en phar: ///usr/local/bin/composer.phar/vendor/symfony/console/Application.php en la línea 755
Warning: preg_match(): JIT compilation failed: no more memory in phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php on line 755
PHP Warning: preg_match(): JIT compilation failed: no more memory in phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php on line 759
Warning: preg_match(): JIT compilation failed: no more memory in phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php on line 759
PHP Warning: preg_split(): JIT compilation failed: no more memory in phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php on line 654
Warning: preg_split(): JIT compilation failed: no more memory in phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php on line 654
PHP Warning: preg_split(): JIT compilation failed: no more memory in phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php on line 1091
Warning: preg_split(): JIT compilation failed: no more memory in phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php on line 1091
PHP Warning: preg_replace(): JIT compilation failed: no more memory in phar:///usr/local/bin/composer.phar/vendor/symfony/console/Formatter/OutputFormatter.php on line 36
Warning: preg_replace(): JIT compilation failed: no more memory in phar:///usr/local/bin/composer.phar/vendor/symfony/console/Formatter/OutputFormatter.php on line 36
[ErrorException]
preg_match_all(): JIT compilation failed: no more memory
En PHP 7.1.24 no hay un
''pcre.jit''
en el archivo php.ini, por lo que debe establecer
memory_limit:128M
(si aumenta esto).
Este es un bug conocido de PHP 7.3.
Como solución temporal, edite su archivo php.ini (en mi caso:
vi /usr/local/etc/php/7.3/php.ini
), deshabilite la compilación PHP PCRE JIT cambiando:
;pcre.jit=1
a
pcre.jit=0
Gracias por las respuestas ... Lo resolví con el comando composer.phar y luego exporté la ruta. Ejemplo:
$composer.phar
$export PATH=/usr/local/php5/bin:$PATH
$composer.phar --version
Otras respuestas sugieren deshabilitar PCRE JIT a través de un archivo de configuración. Eso funciona, pero advertencia: esto deshabilita PCRE JIT para todas las invocaciones de motores que usan esos archivos INI. Por lo tanto, no obtendrá una mejora de JIT para una franja de funcionalidad potencialmente más amplia, que puede no ser deseada.
Puede deshabilitar JIT para el
composer
solo a través de:
php -d pcre.jit=0 composer.phar ...
Resolví esto deshabilitando la compilación jit de PCRE.
Supongo que instaló PHP 7.3 a través de homebrew.
Si es así, cree un
zzz-myphp.ini
en
/usr/local/etc/php/7.3/conf.d
con el siguiente contenido:
; My php.ini settings
; Fix for PCRE "JIT compilation failed" error
[Pcre]
pcre.jit=0