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

Created on 13 Dec 2018  ยท  22Comments  ยท  Source: composer/composer

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

Most helpful comment

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

All 22 comments

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

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 :)

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.

I have the same versions for PHP and Composer but I'm using MacOs Mojave 10.14.2 and it's working well.

If you think that we should keep this issue opened, I'm OK.

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

be carefull with typos ;) should be pcre.jit = 0

https://externals.io/message/87245 is interesting to read. Not sure if this should be solved on our end or not.

The errors originate from the symfony/console library btw, so it is not something we could solve directly either way.

pcre.jit = 0 worked fine for me ๐Ÿ‘ thankss

i'm still getting this error despite pcre.jit = 0 setting:

screen shot 2019-02-10 at 10 40 55 am

in my phpinfo above, i see "PCRE Jit Support" is "enabled" but the setting is indeed 0.

  • osX High Sierra 10.13.6
  • php 7.2.9
  • composer 1.8.3

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.

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 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

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)

Work to me fixing pcre.jit=0 MacOs Sierra using brew hhtpd and php

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

Verify that you really have it set:

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

Thanks

On Sat, 29 Jun 2019 at 06:53, Alexey Kopytko notifications@github.com
wrote:

Verify that you really have it set:

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

โ€”
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/composer/composer/issues/7836?email_source=notifications&email_token=AL377EDEXCARAYDHMTITN23P43MEHA5CNFSM4GKJ3BLKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODY3QV5Y#issuecomment-506923767,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AL377EHVUUIEWBDIZQ2S3QDP43MEHANCNFSM4GKJ3BLA
.

>

IT Enthusiast

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

And more to this, you might wanna do it for all versions. For my case, I set them both for php5 which i think was the default that came with my OS, macOS High Sierra 10.10.3 and for my fresh upgrade to php7.3, so, on my machine;

subl /usr/local/etc/php/7.3/php.ini

and look for ;pcre.jit=1 and make it pcre.jit=0 and do the same for the file

/usr/local/php5/lib/php.ini

which is for php5.
You don't have to use sublime to open these files ๐Ÿ˜. But that's what printed pcre.jit => 0 => 0 on running the command php -i | grep pcre.jit in my terminal. A confirmation that pcre.jit is set to false

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

how do i go about setting this up in the terminat

And more to this, you might wanna do it for all versions. For my case, I set them both for php5 which i think was the default that came with my OS, macOS High Sierra 10.10.3 and for my fresh upgrade to php7.3, so, on my machine;

subl /usr/local/etc/php/7.3/php.ini

and look for ;pcre.jit=1 and make it pcre.jit=0 and do the same for the file

/usr/local/php5/lib/php.ini

which is for php5.
You don't have to use sublime to open these files ๐Ÿ˜. But that's what printed pcre.jit => 0 => 0 on running the command php -i | grep pcre.jit in my terminal. A confirmation that pcre.jit is set to false

please help me on how i can change this. Mine is pcre.jit => 1 => 1

Was this page helpful?
0 / 5 - 0 ratings