偶遇在windows中启动nginx+php环境时发现启动不起来,报错:Visual NMP x64 Nginx 服务无法启动。系统出错。发生系统错误 10048。通常每个套接字地址(协议/网络地址/端口)只允许使用一次。可见是端口已被占用,但我程序已经退出了啊。在CMD下查看进程发现确实有进程在监听9001和9002端口。然后我到任务管理器中查找这个PID为5108的进程时却没有找到。执行kill杀进程也提示No such process,如下:

#windows下查看端口占用
$ netstat -aon|findstr "900"
  TCP    127.0.0.1:9001         0.0.0.0:0              LISTENING       5108
  TCP    127.0.0.1:9002         0.0.0.0:0              LISTENING       5108
  UDP    10.95.249.221:1900     *:*                                    11968
  UDP    127.0.0.1:1900         *:*                                    11968
  UDP    [::1]:1900             *:*                                    11968
  UDP    [fe80::dca1:1802:7b1f:7d2%21]:1900  *:* 
$ kill 5108
bash: kill: (5108) - No such process


    然后通过tasklist查找到php进程,不过进程号不是5108,看来5108应该是Visual NMP父进程。然后在任务管理器中也找到了这两个进程。
$ tasklist | grep php
php-cgi.exe                  16312 Services                   0         76 K
php-cgi.exe                  12144 Services                   0         76 K

    但多次尝试杀这两个进程依然杀不掉,显示进程不存在。最后重启解决。

    另外加一句:php7.3 Warning: "continue" targeting switch is equivalent to "break". Error:"continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in ...,从PHP7.3版本起,在switch内不能再使用continue了,而在之前的版本中continue和break等效。
可以改成continue 2。不过正确的解决办法应该是将continue改成break。

相关评论(0)
您是不是忘了说点什么?

友情提示:垃圾评论一律封号...

还没有评论,快来抢沙发吧!