OSX:无法侦听localhost:80(原因:权限被拒绝)

时间:2016-01-02 08:19:07

标签: php port phpstorm

我已经下载了PhpStorm并设置了所有必需的配置。当我尝试在端口80上运行项目时,我收到此错误。

  

无法收听localhost:80(原因:权限被拒绝)

当我尝试使用像8080这样的任何其他端口时,我收到此错误。

  

无法收听localhost:8080(原因:地址已在使用中)

我尝试了几种不同的随机端口。但是我一直都在使用这个错误。

我安装了xampp。当我尝试在浏览器中使用端口运行url时,它工作正常。问题是它没有在PhpStorm上工作。

我被困住了。

4 个答案:

答案 0 :(得分:4)

错误描述非常明确:

错误:

  

无法收听localhost:80(原因:权限被拒绝)

  • 你真的没有权限使用这个端口;因此您需要更改用户或使用 sudo 来运行您的应用程序。

和错误:

  

无法收听localhost:8080(原因:地址已在使用中)

  • 您尝试使用的地址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

在您终止进程后,该端口将再次可用。

答案 1 :(得分:1)

PHPStorm / Intellij内置Web服务器默认侦听端口63342。

https://confluence.jetbrains.com/display/PhpStorm/Using+the+Built-in+Webserver+in+PhpStorm

您可以在 PHP内置Web服务器下的运行/调试配置中设置端口:

enter image description here

答案 2 :(得分:0)

  1. 从XAMPP停止您的Apache服务器。

  2. 以ROOT权限运行您的PHPStorm。

  3. 如果正在运行PHPStorm,则会显示相同的错误headFailed to listen on localhost:8080 (reason: Address already in use)由任何其他应用程序使用。尝试使用免费工具检查您使用过的端口。使用端口80停止进程并尝试运行phpstorm。

答案 3 :(得分:0)

适用于Mac的Xampp

如果发现无法运行apache并且您拥有 尚未运行apache网络服务器!

......在终端类型.....

sudo apachectl停止

......然后跑......

sudo / Applications / XAMPP / xamppfiles / bin / apachectl start

....如果未指定端口,则需要进入     applications / xampp / xamppfiles / etc / httpd.conf以及第52或53行     您可以设置IP或本地主机。 adding a port number     添加:端口号示例192.168.64.2:80或localhost:80     保存并运行sudo / Applications / XAMPP / xamppfiles / bin / apachectl start}}}}}}}}}}}