无法监听 127.0.0.1:80(原因:权限被拒绝)PhpStorm Xdebug

无法监听 127.0.0.1:80(原因:权限被拒绝)PhpStorm Xdebug

我一直在使用 phpstorm 在 Windows 上开发 PHP 应用程序。我根据朋友的建议转向了 Ubuntu。我最近使用 PHPStorm 配置了 Xdebug,但我无法尝试它,因为它给了我这个错误:

Failed to listen on 127.0.0.1:80 (reason: Permission denied)

我正在使用 PHPStorm 2016.2。它无需调试即可运行,但当我尝试在 Web 服务器中运行进行调试时,它出现此错误

任何帮助都将非常感激。

答案1

尝试执行以下命令来检查端口 80 是否已被其他程序使用。

ss -nltp | grep -iw 80

如果你的 ubuntu 中没有找到上述命令(旧版 ubuntu 没有党卫军命令)然后尝试以下 cmd。

 netstat -nltp | grep -iw "80"

如果任何应用程序使用了端口 80,它将被列在那里。如果发现如此,则需要先停止该应用程序,否则需要将该应用程序的端口更改为端口以外的其他端口80. 之后尝试运行您的应用程序,以便它可以轻松绑定到端口 80。

答案2

抱歉,对该帖子进行了转帖,但它确实出现在了搜索引擎中。

1024 以下的端口是特权端口,这意味着您需要提升权限才能绑定它们。这显然包括原始问题中指定的端口 80 和由非特权用户启动的 PHPStorm。

更多信息可以在这里找到 https://www.cyberciti.biz/faq/linux-unix-open-ports/

答案3

要摆脱其他应用程序在特权端口拒绝的权限,请安装 authbind。 安装 authbind

sudo apt-get install authbind

使端口 80 可供 authbind 使用(您需要是 root 用户):

touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown <apache_user_created> /etc/authbind/byport/80
touch /etc/authbind/byport/443
chmod 500 /etc/authbind/byport/443
chown <apache_user_created> /etc/authbind/byport/443

之后就没事了。

相关内容