我已经下载了 PhpStorm 并设置了所有必需的配置。当我尝试在端口 80 上运行项目时,出现此错误。
Failed to listen on localhost:80 (reason: Permission denied)
当我尝试使用任何其他端口(如 8080)时,出现此错误。
Failed to listen on localhost:8080 (reason: Address already in use)
我尝试了几种不同的随机端口。但是我一直收到这个已经在使用中的错误。
我已经安装了 xampp。当我尝试在浏览器中使用 port 运行 url 时,它工作正常。问题是它不适用于 PhpStorm。
我卡住了。
最佳答案
错误描述很清楚:
错误:
Failed to listen on localhost:80 (reason: Permission denied)
- 您确实没有使用此端口的权限;因此您需要更改您的用户或使用 sudo 来运行您的应用程序。
和错误:
Failed to listen on localhost:8080 (reason: Address already in use)
- 您尝试使用的地址
localhost:8080
已被其他进程/软件使用。
通常,如果您更改端口将解决问题:(例如 9090)。
但是,如果您想知道在 Unix(Mac OSX、Linux)中哪个程序正在使用端口 80,您可以使用 lsof命令:
为此:
在终端中,你需要使用:
sudo lsof -i :80
结果是这样的:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 82 root 4u IPv6 0x763617bed21ecc33 0t0 TCP *:http (LISTEN)
httpd 226 _www 4u IPv6 0x763617bed21ecc33 0t0 TCP *:http (LISTEN)
在这个结果上,我们可以看到 /usr/sbin/httpd
正在监听我机器上的 80 端口,这是 Apache 服务器。
要了解正在监听端口 80 的进程的详细信息,您可以使用 ps命令:
ps u PID_of_target_process
这将返回类似这样的结果:
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 82 0.0 0.0 2463324 4248 ?? Ss 9:48AM 0:00.93 /usr/sbin/httpd -D FOREGROUND
要通过 PID 终止进程,您可以使用 kill命令,如下所示:
sudo kill -KILL PID_of_target_process
终止进程后,端口将再次可用。
关于php - 操作系统 : Failed to listen on localhost:80 (reason: Permission denied),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34563972/