Lorsque j'exécute composer --version
dans le terminal macOS, les erreurs suivantes sont générées:
Avertissement PHP: preg_match (): La compilation JIT a échoué: plus de mémoire dans phar: ///usr/local/bin/composer.phar/vendor/symfony/console/Application.php à la ligne 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
Ceci est un connu PHP 7.3 bug .
Comme solution temporaire, éditez votre fichier php.ini (dans mon cas: vi /usr/local/etc/php/7.3/php.ini
), désactivez la compilation PHP de PCRE JIT en modifiant:
;pcre.jit=1
à
pcre.jit=0
J'ai résolu ce problème en désactivant la compilation jit PCRE.
Je suppose que vous avez installé PHP 7.3 via homebrew.
Si tel est le cas, créez un zzz-myphp.ini
dans /usr/local/etc/php/7.3/conf.d
avec le contenu suivant:
; My php.ini settings
; Fix for PCRE "JIT compilation failed" error
[Pcre]
pcre.jit=0
D'autres réponses suggèrent de désactiver PCRE JIT via un fichier de configuration. Cela fonctionne, mais méfiez-vous: cela désactive PCIT JIT pour les invocations de moteur all qui utilisent ces fichiers INI. Par conséquent, vous ne bénéficierez pas d'une amélioration de JIT pour une gamme de fonctionnalités potentiellement plus large, ce qui peut ne pas être souhaitable.
Vous pouvez désactiver JIT pour composer
uniquement via:
php -d pcre.jit=0 composer.phar ...
Dans PHP 7.1.24, il n'y a pas de 'pcre.jit'
dans le fichier php.ini, vous devez donc définir memory_limit:128M
(si vous l'augmentez).
J'ai eu la même erreur. J'ai installé MAMP 5.4 sur mon Mac OS 10.11.6 en utilisant PHP 7.3.7 et j'ai installé Composer. Cela a semblé fonctionner, mais dès que j'ai essayé d'installer Yii2 ou même de vérifier la version, ça m'a donné l'erreur ...
$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
Augmenter le memory_limit dans le fichier php.ini de 128 Mo à n'importe quoi n'a PAS résolu le problème et pcre.jit = 1 a été commenté, donc le désactiver n'a eu aucun effet.
Voici ce qui a fonctionné:
J'ai simplement changé le chemin d'exportation vers le répertoire de la version précédente (sans rétrograder les préférences de MAMP) et cela a fonctionné!
$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
Si quelqu'un peut expliquer pourquoi cela a fonctionné, j'apprécierais de le savoir. À votre santé.
Merci pour les réponses .. Je l'ai résolu par la commande composer.phar, puis le chemin d'exportation Exemple:
$composer.phar
$export PATH=/usr/local/php5/bin:$PATH
$composer.phar --version