Ошибки при установке Composer в macOS (ошибка компиляции JIT) - PullRequest
0 голосов
/ 09 декабря 2018

Когда я запускаю composer --version в терминале macOS, я получаю следующие ошибки:

PHP Предупреждение: preg_match (): сбой JIT-компиляции: больше нет памяти в phar: /// usr /local / bin / composer.phar / vendor / symfony / console / Application.php в строке 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

Ответы [ 6 ]

0 голосов
/ 18 августа 2019

Я получил ту же ошибку.Я установил MAMP 5.4 на мою Mac OS 10.11.6 с помощью PHP 7.3.7 и установил Composer.Казалось, что это работает, но как только я попытался установить Yii2 или даже проверить версию, он дал мне ошибку ...

$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

Увеличение memory_limit в php.ini с 128M ни к чему не решилопроблема и pcre.jit = 1 были закомментированы, поэтому отключение тоже ничего не дало.

Вот что сработало:

Я просто изменил путь экспорта в каталог предыдущей версии(без фактического понижения в предпочтениях MAMP), и это сработало!

$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

Если кто-нибудь может объяснить, почему это работает, я был бы признателен, если бы знал.Приветствия.

0 голосов
/ 12 апреля 2019

В PHP 7.1.24 в файле php.ini нет 'pcre.jit', поэтому вы должны установить memory_limit:128M (если вы его увеличите).

0 голосов
/ 14 декабря 2018

Другие ответы предлагают отключить PCRE JIT через файл конфигурации.Это работает, но предостережение: это отключает PCRE JIT для всех вызовов движка, которые используют эти INI-файлы.Поэтому вы не получите улучшения JIT для потенциально более широкого диапазона функций, который может быть нежелателен.

Вы можете отключить JIT для composer только через:

php -d pcre.jit=0 composer.phar ...
0 голосов
/ 12 декабря 2018

Спасибо за ответы .. Я решил это командой composer.phar и затем экспортировал путь.Пример:

$composer.phar
$export PATH=/usr/local/php5/bin:$PATH
$composer.phar --version
0 голосов
/ 10 декабря 2018

Это известная PHP 7.3 ошибка .

В качестве временного исправления отредактируйте файл php.ini (в моем случае: vi /usr/local/etc/php/7.3/php.ini), отключите компиляцию PHP PCRE JIT с помощьюменяется:

;pcre.jit=1

на

pcre.jit=0
0 голосов
/ 10 декабря 2018

Я решил эту проблему, отключив jit-компиляцию PCRE.

Я полагаю, вы установили php 7.3 через homebrew.

Если это так, создайте zzz-myphp.ini в /usr/local/etc/php/7.3/conf.d со следующим содержимым:

; My php.ini settings
; Fix for PCRE "JIT compilation failed" error
[Pcre]
pcre.jit=0
...