php - 操作系统 : Failed to listen on localhost:80 (reason: Permission denied)

标签 php port phpstorm

我已经下载了 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/

相关文章:

windows-7 - 如何使80端口可用?在 Windows 7 上安装 xampp 1.7.7?

javascript - 将 jQuery 变量发布到同一文件并使用 PHP 接收

php - 如何使用 facebook graph api 让 friend 参与?

Mysql:无法启动服务器 debian wheezy

node.js - 在分配唯一端口的同时扩展 Nodejs 应用程序

phpstorm - 如何禁用 PhpStorm 中 PHP 函数的自动完成红色边框

PHPUnit 和 CodeIgniter

php - 如何在 PhpStorm 中折叠/展开文件中的所有注释 block ?

javascript - 如何访问 if 语句中的变量

php - 使用 PHP 通过外键关系显示 MySQL 表属性