导致TerminateProcess的原因:访问被拒绝。当尝试在 Windows 上运行 Symfony 服务器时?

问题描述 投票:0回答:1

背景

我正在使用 Symfony 开发一个网站,我花了大约两周的时间来开发它。

我使用的是 Windows 10,我使用 Symfony 5.8.12 和 php 8.1.13 以及 Wamp 3.3.0 作为数据库。 直到上周五一切都正常:

我尝试刷新页面,但加载无休无止。没有额外的 symfony 日志。 我使用 Ctrl+C 停止服务器运行,在任务管理器中查看进程时它停止了。 我收到消息了:

  TerminateProcess: Access is denied.                                   

我试过了

symfony server:start

我再次收到同样的消息,但为什么? 我正在尝试运行它而不是终止它

编辑:我还发现运行时出现访问被拒绝错误很可能是由于以下原因

symfony server:status

我最终做了什么作为临时解决方案

编辑:我现在拥有管理员权限,所以这没什么大不了的。我可以注销然后重新登录来解决问题。问题是它会在随机的日子或一天中的某个时间发生多次。

有效的解决方案是重新启动计算机,但由于我还没有管理员权限,因此我需要 IT 人员输入管理员凭据才能执行 Wamp。

我还尝试使用

symfony server:start -d
,这样每当我想停止服务器时,我都会使用正确的命令,
symfony server:stop

今天发生了什么以及我为什么在 stackoverflow 上发帖

今天,我再次处理我的项目,一切顺利,我的 webpack 已编译,但开发工具中的控制台不想更新我的 javascript 代码,所以我用

symfony server:stop
重新启动了 symfony,我得到:

Stopping Web Server

然后我运行

symfony server:start
然后我得到了

TerminateProcess: Access is denied.

问题

编辑 - 为什么 PID 仍然根据 Symfony 分配给工作人员,有没有办法在不注销的情况下重置此“绑定”?
当我没有终止而是启动进程时,为什么会收到有关 TerminateProcess 的消息?
为什么这种情况会随机发生? (重启后就发生过一次,今天正常工作一整天后......)。

php windows symfony process access-denied
1个回答
0
投票

我找到了一种在旅途中“解决”这个问题的方法(无需注销/重新启动计算机),尽管它没有解释为什么,如OP的终端屏幕截图所示,symfony将一个Worker绑定到不存在的PID。

我在一篇文章中找到了一个答案,该帖子没有具体提到

TerminateProcess
错误,但谈到了 symfony Workers 被复制并绑定到死 PID。

解决办法是删除

server:status
后提到的日志文件名对应的文件夹。

在我们的例子中,Workers 中指定的日志文件是 973a...1476.log.
所以我们删除文件夹 C:\Users%USER%\.symfony5 ar\973a...1476\
然后我们可以检查它的状态,它应该如下所示,然后我们可以再次启动我们的服务器。

© www.soinside.com 2019 - 2024. All rights reserved.