org - php what is composer




macOSへのComposerのインストールエラー(JITのコンパイルに失敗しました) (4)

macOS端末で composer --version を実行すると、次のようなエラー composer --version れます。

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

PHP 7.1.24ではphp.iniファイルに 'pcre.jit' がないので、 memory_limit:128M を設定する必要があります(これを増やす場合)。


これはPHP 7.3の既知の bug です。

一時的な修正として、php.iniファイル(私の場合は vi /usr/local/etc/php/7.3/php.ini )を編集し、以下を変更してPHP PCRE JITコンパイルを無効にします。

;pcre.jit=1

pcre.jit=0

私はこれをPCREのjitコンパイルを無効にすることで解決しました。

私はあなたが自作を通してPHP 7.3をインストールしたと思います。

もしそうなら、以下の内容で /usr/local/etc/php/7.3/conf.d zzz-myphp.ini 作成してください:

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

答えてくれてありがとう..私はコマンドcomposer.pharそしてそれからexport pathでそれを解決しました。 例:

$composer.phar
$export PATH=/usr/local/php5/bin:$PATH
$composer.phar --version






jit