Laravel 从 5.1.46 更新到 5.2.* php artisan Segmentation fault

Posted

技术标签:

【中文标题】Laravel 从 5.1.46 更新到 5.2.* php artisan Segmentation fault【英文标题】:Laravel update from 5.1.46 to 5.2.* php artisan Segmentation fault 【发布时间】:2020-05-23 01:30:24 【问题描述】:

我正在努力将 Laravel 项目从 5.1.46 更新到 5.2.*。在我按照这里https://laravel.com/docs/5.2/upgrade#upgrade-5.2.0 的步骤操作后,我运行了命令

./composer.phar update

当作曲家尝试运行时,我收到跟随错误

php artisan clear-compiled

分段错误(核心转储)

我尝试手动运行命令

php artisan clear-compiled -vvv

但我的输出完全相同。您知道如何调试导致此问题的原因吗? 这出现在 PHP 5.6 中。 我也尝试过使用 PHP 7.4,但看起来计算机内存不足。出于某种原因,工匠正在占用计算机的整个内存,直到计算机死机。

谢谢!

后期编辑:

我使用了内存限制高达 8G 的 PHP 7.2,我有以下输出:

> php artisan clear-compiled
PHP Fatal error:  Allowed memory size of 8589934592 bytes exhausted (tried to allocate 262144 bytes) in /d/projects/a-car/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 616
PHP Fatal error:  Allowed memory size of 8589934592 bytes exhausted (tried to allocate 262144 bytes) in Unknown on line 0
Script php artisan clear-compiled handling the post-install-cmd event returned with error code 255

【问题讨论】:

你在 Windows 上吗?你的 php 是 32 位还是 64 位的? 32 位版本可能只能使用更少的内存(如果我没记错的话,只有 2GB)。请参阅this QA regarding that magic number 262144 它可能会有所帮助。 是否有任何工匠命令运行?如果不是,可能是this 您是否尝试过删除供应商目录并运行composer install 看起来问题出在已加载但与 Laravel 5.2 不兼容的库上。我已经通过暂时删除该库来解决问题,并且正在为该库进行更新。 【参考方案1】:

看起来问题出在已加载但与 Laravel 5.2 不兼容的库上。我已经通过暂时删除该库来解决问题,并且正在为该库(SleepingOwl)进行更新。

【讨论】:

以上是关于Laravel 从 5.1.46 更新到 5.2.* php artisan Segmentation fault的主要内容,如果未能解决你的问题,请参考以下文章

从 Laravel 5.1 到 5.2 的更新已停止 PHPUnit 工作

从 Laravel 5.2 更新到 5.3 后,调用数组上的成员函数 all()

从5.5作曲家更新到laravel 5.6失败

Laravel 从带有哈希的表单更新用户密码

为啥我的 Facades 在更新到 Laravel 7.3 后停止工作?

将 Laravel 从 5.3 升级到 5.4