PHP Artisan Tinker 从任何命令中崩溃

PHP Artisan Tinker crashing from any command

我以前没有遇到过这个问题,但是我的 php artisan tinker 因发出任何命令而崩溃 - 并且没有留下任何关于导致崩溃的日志。

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

甚至最简单的命令:

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

我几乎怀疑它是否没有正确连接到 PHP,但我在任何地方都找不到任何日志。 Laravel 没有任何命令的踪迹。我运行brew update,但没区别。作为记录,我的 所有 项目都受到了影响。我不能 修补 我的任何项目。求助!

我最近升级到 PHP 7.3.0,它在其他所有方面都运行良好。嗯...

如果您没有安装 pcntl 扩展,请尝试在 ~/.config/psysh/config.php 创建一个配置文件(如果还没有):

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

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

当您 upgrade/install PHP 7.3 使用自制软件时,在 Mojave 上会发生这种情况, (这是 PsySh(由 Tinker 使用)和 Homebrew 的 PHP 7.3.0 版本的问题。)

简单的解决方案是, 在您的 php.ini 中设置

pcre.jit=0


如果不知道用的是哪个ini文件,可以运行php --ini找,

# /usr/local/etc/php/7.3/php.ini
- ;pcre.jit=1
+ pcre.jit=0