PHP Artisan Tinker 从任何命令崩溃
Posted
技术标签:
【中文标题】PHP Artisan Tinker 从任何命令崩溃【英文标题】:PHP Artisan Tinker crashing from any command 【发布时间】:2019-05-15 08:00:08 【问题描述】:我以前没有遇到过这个问题,但是我的 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,它在其他所有领域都运行良好。嗯……
【问题讨论】:
你试过运行composer dump-autoload
吗?
或者完全吹走vendor
,然后composer install
恢复它。
@P.Ellul 试过了,没什么区别。
@ceejayoz 刚刚尝试...什么都没有。
为了清楚起见,artisan
是 Laravel 自带的工具,与composer
无关。
【参考方案1】:
如果您在 Mojave 上使用 homebrew
安装的 PHP 7.3,请尝试在 ~/.config/psysh/config.php
创建一个配置文件(如果还没有的话):
<?php
return [
'usePcntl' => false,
];
来源:https://github.com/bobthecow/psysh/issues/540#issuecomment-446480753
【讨论】:
帮我安装全新的 Mojave! 这完全是我的问题。刚刚在 mojave 上升级到 php 7.3。谢谢! 我遇到了同样的问题,修复适用于 Ubuntu docker 容器和 php 7.4.16。可能我缺少一些 php 扩展。【参考方案2】:当您使用自制软件升级/安装 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
【讨论】:
以上是关于PHP Artisan Tinker 从任何命令崩溃的主要内容,如果未能解决你的问题,请参考以下文章
无法从产品表中指定“标题” - php artisan tinker
laravel 5.5:php artisan tinker:ErrorException:目录不为空[重复]