php - 运行 Composer Laravel 8 时出现 Symfony 进程错误

标签 php laravel

突然在我的 Laravel 8 项目中,我运行了 Composer 来卸载一个依赖项,我想重新安装该依赖项,只是为了顺序并从头开始,然后我开始抛出这个与 Symfony Process 有关的错误:

PHP fatal error :未捕获类型错误:fclose():参数#1($流)必须是资源类型,在phar中给出的bool://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/process/Pipes/WindowsPipes.php:71

这可能是什么错误?我读到类似的内容与 symfony Process 的更新有关,但我不知道为什么。我做的唯一一件事就是安装 Laravel/Passport 以在用户登录中使用 token 。

最佳答案

在 Windows 上运行 PHP 8 时,我也遇到了这个错误。我尝试按照 Composer loading from cache 手动清除临时目录- 当那不起作用时。我还发现 Composer 的 symfony 使用以一种奇怪的方式锁定了临时文件。

我需要清除临时文件,我使用 filelocker 轻松解锁它。一旦我解锁并删除了文件,我就能够再次按预期运行 Composer 。

以下是有关临时文件位置的相关堆栈溢出问题:Composer install: error on temporary file (%USERPROFILE%\AppData\Local\Temp 对我有用)

它们的名称类似于“sf_proc_00.err”。我通过按日期对临时文件进行排序,并且只尝试删除今天修改的文件,轻松找到了它们。

重新启动或识别绑定(bind)临时文件的 symfony 进程也可以。根据文件锁定 - 这是我的 mingw git 的一个实例。

关于php - 运行 Composer Laravel 8 时出现 Symfony 进程错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66146326/

相关文章:

php - 复制(更新)同一张表中的某些内容

php - Doctrine 2 : How to select ArrayCollection using DQL

php - rowCount() 作为变量或直接将其包含在 if 语句中哪个更好?

php - 如何将具有相同前缀的所有 url 路由到一个操作

php - 特质中的变量

php - 如何在 Laravel 5.2 中监听事件?

php - 使用 Twig 从特定的数组索引开始

php - 更改 is_numeric 以检查所有值

php - 在 where 子句中使用日期时,Laravel Eloquent 返回空

php - Laravel:无需协议(protocol)即可设置 Assets