我刚刚重新启动我的 laravel 8.0 项目,我收到以下错误,请问可能出了什么问题,每当我运行“PHP artisanserve”时都会发生这种情况
TypeError
fclose(): Argument #1 ($stream) must be of type resource, bool given
at C:\Users\owner\Laravel-App\test-app\vendor\symfony\process\Pipes\WindowsPip
es.php:74
70▕ fclose($this->lockHandles[$pipe]);
71▕ }
72▕ $this->lockHandles[$pipe] = $h;
73▕
➜ 74▕ if (!fclose(fopen($file, 'w')) || !$h = fopen($file
, 'r')) {
75▕ flock($this->lockHandles[$pipe], \LOCK_UN);
76▕ fclose($this->lockHandles[$pipe]);
77▕ unset($this->lockHandles[$pipe]);
78▕ continue 2;
continue 2;
1 C:\Users\owner\Laravel-App\test-app\vendor\symfony\process\Pipes\WindowsPi
pes.php:74
fclose()
2 C:\Users\owner\Laravel-App\test-app\vendor\symfony\process\Process.php:130
4
Symfony\Component\Process\Pipes\WindowsPipes::__construct()
您可以打开任务管理器,然后查找 CLI(带有 php 徽标)后台进程,如果找到则杀死任务
不要重新启动,不要卸载,不要恐慌!
如果您使用的是 Windows 计算机,请按照以下步骤操作:
单击开始超级按钮。
键入 cmd,右键单击命令提示符磁贴,然后单击 以管理员身份运行。
输入
tasklist /v | find "php"
按回车,找到php.exe的PID
通过
taskkill /PID <PID> /F
终止进程
你完成了。
我还运行了另一个我忘记的 Laravel 应用程序(在另一个 IDE 的终端中)。 Ctl + C(杀死)让我克服了这个错误消息。
首先运行
composer install
,然后尝试使用 php artisan serve
启动开发服务器。您可能还必须使用 php artisan key:generate
生成密钥,以防应用程序启动时出现错误。
我遇到了同样的问题,我希望这个解决方案可以帮助其他人:
1. Delete the **vendor** folder/directory of the project
2. run **"composer install"** to install packages.
这解决了我的问题。
我今天遇到了同样的错误并应用了所有解决方案,但这解决了我的错误。
我通过搜索在
sf_proc_00.err
(本地 Windows 临时目录)中保持打开文件 %LOCALAPPDATA%\Temp
的进程解决了这个问题。为此,可以使用 Process Explorer 或类似工具。它被 ssh.exe
锁定(很可能是由 git 启动的)。杀掉进程后,composer又正常运行了。
只需停止/关闭 Artisan 服务器
这对我来说是工作
我已将 PHP v8 降级到 v7.4,它可以工作了
您应该使用
optimize:clear
命令清除配置缓存:
php artisan optimize:clear
解决方法很简单,只需做
php artisan config:clear
然后重新运行
php artisan serve