composer: preg_match(): JIT compilation failed: no more memory

When I run this command:

 composer create-project symfony/website-skeleton my-project

I get the following output:

PHP Warning:  preg_match_all(): JIT compilation failed: no more memory in phar:///usr/local/Cellar/composer/1.8.0/bin/composer/vendor/symfony/console/Formatter/OutputFormatter.php on line 137

Warning: preg_match_all(): JIT compilation failed: no more memory in phar:///usr/local/Cellar/composer/1.8.0/bin/composer/vendor/symfony/console/Formatter/OutputFormatter.php on line 137

PHP Warning:  preg_match(): JIT compilation failed: no more memory in phar:///usr/local/Cellar/composer/1.8.0/bin/composer/vendor/symfony/console/Application.php on line 755

Warning: preg_match(): JIT compilation failed: no more memory in phar:///usr/local/Cellar/composer/1.8.0/bin/composer/vendor/symfony/console/Application.php on line 755
PHP Warning:  preg_match(): JIT compilation failed: no more memory in phar:///usr/local/Cellar/composer/1.8.0/bin/composer/vendor/symfony/console/Application.php on line 759

Warning: preg_match(): JIT compilation failed: no more memory in phar:///usr/local/Cellar/composer/1.8.0/bin/composer/vendor/symfony/console/Application.php on line 759
PHP Warning:  preg_split(): JIT compilation failed: no more memory in phar:///usr/local/Cellar/composer/1.8.0/bin/composer/vendor/symfony/console/Application.php on line 654

Warning: preg_split(): JIT compilation failed: no more memory in phar:///usr/local/Cellar/composer/1.8.0/bin/composer/vendor/symfony/console/Application.php on line 654
PHP Warning:  preg_split(): JIT compilation failed: no more memory in phar:///usr/local/Cellar/composer/1.8.0/bin/composer/vendor/symfony/console/Application.php on line 1091

Warning: preg_split(): JIT compilation failed: no more memory in phar:///usr/local/Cellar/composer/1.8.0/bin/composer/vendor/symfony/console/Application.php on line 1091
PHP Warning:  preg_replace(): JIT compilation failed: no more memory in phar:///usr/local/Cellar/composer/1.8.0/bin/composer/vendor/symfony/console/Formatter/OutputFormatter.php on line 36

Warning: preg_replace(): JIT compilation failed: no more memory in phar:///usr/local/Cellar/composer/1.8.0/bin/composer/vendor/symfony/console/Formatter/OutputFormatter.php on line 36
                                                        
  [ErrorException]                                      
  preg_match(): JIT compilation failed: no more memory  
                                                        

PHP Warning:  preg_match_all(): JIT compilation failed: no more memory in phar:///usr/local/Cellar/composer/1.8.0/bin/composer/vendor/symfony/console/Formatter/OutputFormatter.php on line 199

Warning: preg_match_all(): JIT compilation failed: no more memory in phar:///usr/local/Cellar/composer/1.8.0/bin/composer/vendor/symfony/console/Formatter/OutputFormatter.php on line 199

I have PHP 7.3 and Composer 1.8

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 9
  • Comments: 25 (4 by maintainers)

Commits related to this issue

Most upvoted comments

In my case, it works by specifying pcre.jit=0 in php.ini

In my case, it works by specifying pecr.jit=0 in php.ini

be carefull with typos 😉 should be pcre.jit = 0

If pcre.jit = 0 pcre.jit=0 pcre.jit = Off in php.ini, not worked, try this:

https://stackoverflow.com/a/53703630/9142922

I solved this by disabling the PCRE jit compilation. I suppose you installed php 7.3 through homebrew. If so, create a zzz-myphp.ini in /usr/local/etc/php/7.3/conf.d with the following content:

; My php.ini settings
; Fix for PCRE "JIT compilation failed" error
[Pcre]
pcre.jit=0
  • MacOS High Sierra 10.13.6
  • php 7.3.2
  • composer 1.8.4

It looks like you set jit=0 in the php.ini of your webserver. Make sure to have it configured in the php.ini used inside the cli. Usually these are 2 different files

great point @staabm!!! forgot they are different.

ran php --ini and added my config to the additionals folder.

I have the same problem on my Mac. Here are my versions:

PHP 7.3.0 Composer 1.8.0 MacOS High Sierra 10.13.6

Setting pcre.jit = 0 worked for me but it should be working without it, or maybe indicated in composer documentation, so I’d say maybe we should keep this issue opened, is that OK for you @HoTKreeZy?

I’ll try upgrading my Mac later to see if everything is better afterwards.

pcre.jit = 0 worked fine for me 👍 thankss

Well… I just upgraded my mac to Mojave and tried again and it’s working now… So I can’t tell if your answer works but it will probably help someone else 😃 Thank you anyway, i’ll keep it aside 😃

Verify that you really have it set:

$ php -i | grep pcre.jit
pcre.jit => 0 => 0

It work for me by follow steps:

  1. Please open you Terminal and run php --ini
  2. Open file php.ini in the path “Loaded Configuration File: /usr/local/php5/lib/php.ini” https://prnt.sc/p9tspy
  3. Find pcre.jit and change ;pcre.jit=1 to pcre.jit=0

pcre.jit = 0 in php.ini, worked fine for me olso 👍 thanks !

  • MacOS High Sierra 10.13.6
  • php 7.3.2
  • composer 1.8.3

if there is a line already exist like ;pcre.jit=0 remove the semicolon ; before the line. The line should look like pcre.jit=0

guys am still getting the same error i diid add this pcre.jit=0

FYI - This also helped to correct (Thanks to @NickWilde1990 for the pointer!)

[RuntimeException]
Failed to execute regex: PREG_JIT_STACKLIMIT_ERROR

with

  • COMPOSER 1.8.5
  • PHP 7.3.2
  • OSX 10.14.3 (Mojave)