usar reconoce interno instalar externo error con composer como comando php macos composer-php jit

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