突然在我的 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/