问题
When I run composer --version
in the macOS terminal I get the following errors:
PHP Warning: preg_match(): JIT compilation failed: no more memory in phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php on line 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
回答1:
This is a known PHP 7.3 bug.
As a temporary fix, edit your php.ini file (in my case: vi /usr/local/etc/php/7.3/php.ini
), disable PHP PCRE JIT compilation by changing:
;pcre.jit=1
to
pcre.jit=0
回答2:
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
回答3:
Other answers suggest disabling PCRE JIT via a configuration file. That works, but caveat: this disables PCRE JIT for all engine invocations that use those INI files. You therefore won't be getting JIT improvement for a potentially wider swath of functionality, which may not be desired.
You can disable JIT for composer
only via:
php -d pcre.jit=0 composer.phar ...
回答4:
In PHP 7.1.24 there is no 'pcre.jit'
in php.ini file so you have to set
memory_limit:128M
(if you increase this).
回答5:
Thanks for the answers.. I solved it by command composer.phar and then export path. Example:
$composer.phar
$export PATH=/usr/local/php5/bin:$PATH
$composer.phar --version
回答6:
I got the same error. I installed MAMP 5.4 on my Mac OS 10.11.6 using PHP 7.3.7 and installed Composer. It seemed to work but as soon as I attempted to install Yii2 or even check the version, it gave me the error...
$composer.phar --version
Fatal error: Uncaught ErrorException: preg_match_all(): JIT compilation failed: no more memory in phar:///Users/kristin/Sites/htdocs/composer.phar/vendor/symfony/console/Formatter/OutputFormatter.php:137
Increasing the memory_limit in php.ini from 128M to anything did NOT solve the issue and pcre.jit=1 was commented out so turning it off didn't do anything either.
Here is what worked:
I simply changed the export path to the previous version's directory (without actually downgrading in MAMP's preferences) and it worked!
$export PATH=/Applications/MAMP/bin/php/php7.2.20/bin:$PATH
$composer.phar --version
Composer version 1.9.0 2019-08-02 20:55:32
If anyone can explain why this worked, I'd appreciate knowing. Cheers.
回答7:
It work for me by follow steps:
- Open you Terminal and run php --ini
- Open file php.ini in the path "Loaded Configuration File: /usr/local/php5/lib/php.ini" https://prnt.sc/p9tspy
- Find pcre.jit and change ;pcre.jit=1 to pcre.jit=0
来源:https://stackoverflow.com/questions/53690624/errors-installing-composer-on-macos-jit-compilation-failed