OSX:无法在localhost上侦听:80(原因:权限被拒绝)
我已经下载了PhpStorm并设置了所有必需的配置。当我尝试在端口80上运行项目时,收到此错误。
无法在localhost上侦听:80(原因:权限被拒绝)
当我尝试使用任何其他端口(如8080)时,我收到此错误。
无法在localhost上侦听:8080(原因:地址已在使用)
我尝试了几个不同的随机端口。但是我总是收到这个已在使用中的错误。
我安装了xampp。当我尝试在带端口的浏览器中运行url时,它工作得很好。问题是它在PhpStorm上不起作用。
我卡住了。
解决方案
错误描述非常清楚:
错误:
无法在localhost上侦听:80(原因:权限被拒绝)
- 您确实没有使用此端口的权限;因此您需要更改用户或使用sudo来运行您的应用程序。
和错误:
无法在localhost上侦听:8080(原因:地址已在使用)
- 您尝试使用的地址
localhost:8080
已被其他进程/软件使用。
但是,如果您想知道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
正在我的计算机(即Apache服务器)上侦听端口80。
要了解侦听端口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
在您终止进程之后,该端口将再次可用。
相关文章