34

I haven't had this problem before, but my php artisan tinker crashes from issuing any command - and leaves no logs whatsoever on what is causing the crash.

project4 $ php artisan tinker
Psy Shell v0.9.9 (PHP 7.3.0 — cli) by Justin Hileman
>>> use \App\Jobs\testJob;
project4 $

or even the simplest command:

project4 $ php artisan tinker
Psy Shell v0.9.9 (PHP 7.3.0 — cli) by Justin Hileman
>>> print("Hello World!");
project4 $

I almost wonder if it isn't connecting to PHP correctly, but I can't find any logs anywhere. Laravel has no trace of the commands. I ran brew update, but no difference. For the record, all of my projects are affected. I can't tinker on any of my projects. Help!

I did recently upgrade to PHP 7.3.0, which is working fine in every other area. Hmm...

miken32
  • 42,008
  • 16
  • 111
  • 154
G.S.
  • 502
  • 8
  • 16

2 Answers2

106

If you don't have the pcntl extension installed, try creating a config file at ~/.config/psysh/config.php if not already there:

<?php
return [
  'usePcntl' => false,
]; 

Source: https://github.com/bobthecow/psysh/issues/540#issuecomment-446480753

miken32
  • 42,008
  • 16
  • 111
  • 154
ohho
  • 50,879
  • 75
  • 256
  • 383
9

This happens on Mojave when you upgrade/install PHP 7.3 using homebrew, (It's a problem with PsySh (used by Tinker) and Homebrew's PHP 7.3.0 build.)

Simple solution is, In your php.ini set

pcre.jit=0


If you don't know which ini file is used, you can run php --ini to find it,

# /usr/local/etc/php/7.3/php.ini
- ;pcre.jit=1
+ pcre.jit=0
muhive
  • 1,879
  • 14
  • 20