4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PHP Fatal error: Uncaught ErrorException: preg_match(): JIT compilation failed: no more memory と表示されてしまう場合

Posted at

Laravelを実行しようとしたらエラーが出たので流れと原因・解消法について

久しぶりにLaravelを触ろうとしてコマンドを叩いたらエラーが返されてLaravelを起動できませんでした。

叩いたコマンドは次の通りで

$ php artisan serve

こちらを実行した時に本来であればローカル上のLaravelが起動するところが次のようなエラーメッセージが表示されました。
(私の場合はMAMP上にコードを置いていました)

PHP Fatal error:  Uncaught ErrorException: preg_match(): JIT compilation failed: no more memory in 自分がコマンドを実行しようとしたpath/vendor/symfony/console/Terminal.php:75
Stack trace:
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'preg_match(): J...', '/Applications/M...', 75, Array)
#1 自分がコマンドを実行しようとしたpath/vendor/symfony/console/Terminal.php(75): preg_match('/;.(\\d+).rows;....', 'speed 9600 baud...', Array)
#2 自分がコマンドを実行しようとしたpath/vendor/symfony/console/Terminal.php(32): Symfony\Component\Console\Terminal::initDimensions()
#3 自分がコマンドを実行しようとしたpath/vendor/symfony/console/Application.php(770): Symfony\Component\Console\Terminal->getWidth()
#4 自分がコマンドを実行しようとしたpath/vendor/symfony/console/Application.php(743): Symfony\Component\Console\Application->doRenderException(Object(Symfony\Component\Debug\Exception\FatalErrorException), Object(Symfony\Component\Console\Output\ConsoleOutput))
#5 自分がコマンドを実行しようとしたpath/ in 自分がコマンドを実行しようとしたpath/vendor/symfony/console/Terminal.php on line 75
/

原因と解決策

PHP7.3が原因だったようです。

解決するには、PHP7.3のphp.ini(私の場合は/usr/local/etc/php/7.3/php.ini にありました)を開き次の行を

php.ini
;pcre.jit=1

下記のように

php.ini
pcre.jit=0

編集すれば解決できました。

プロジェクトによっては、MAMP上のphp.iniを編集したら起動できるものもあったのですがこちらの設定を編集することで全て起動できるようになりました。

私の場合、Laravelを触る→数ヶ月間を空ける→PHP7.3をインストールする→Laravelを触ろうとしてエラー
という経緯だったのでLaravelに関しても若干うろ覚えだったためコマンドの間違いなのかと最初は少し焦りました。

同じようなエラーが起こった方へ参考になったら幸いです。

参考リンク:https://stackoverflow.com/questions/53869421/uncaught-errorexception-preg-match-all-jit-compilation-failed-no-more-memor

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?