怎么看端口被php占用
时间 : 2023-04-06 00:26:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

如果你的服务器上安装了PHP,并且你在使用某个网站、应用程序或者服务时出现了端口被占用的问题,这可能会导致服务无法正常运行。在这种情况下,你需要查看端口是否被PHP占用。

以下是查看端口被PHP占用的步骤:

1. 打开终端或命令提示符。在 Linux 或 macOS 上,你可以使用 Terminal 应用程序,在 Windows 上,你可以使用 cmd 或 PowerShell。

2. 运行以下命令,根据端口号替换“port_number”:

```

lsof -i :port_number

```

例如,如果你想查看端口80是否被占用,可以运行:

```

lsof -i :80

```

3. 运行命令后,你将看到一些输出。如果你看到一行内容类似于这样:

```

PHP 1234 user 43u IPv6 1234567 0t0 TCP *:port_number (LISTEN)

```

那么这意味着在该服务器上运行的PHP占用了该端口。

如果你发现 PHP 占用了端口,你可以通过终止 PHP 进程来释放该端口。你可以运行以下命令来终止该进程:

kill -9 1234

在这里,1234 是要终止的进程 ID。你可以使用`lsof`命令来找到PID。

或者,如果你正在使用 systemctl 管理 PHP 进程,可以使用以下命令重启服务并释放端口:

systemctl restart php-fpm

在这里,php-fpm 是 PHP FastCGI 进程管理器的名称,你应该根据实际情况进行更改。

总的来说,如果你的端口被PHP占用,那么使用 lsof 命令可以帮助你了解原因,并且通过终止或重启 PHP 进程可以在无需重启服务器或重建服务的情况下释放端口。

如果你使用的是 Linux 操作系统,可以通过命令行查询端口被哪个进程占用。首先查看你要查询的端口号,以下以 80 端口为例:

$ sudo lsof -i :80

上述命令会列出所有使用 80 端口的进程。如果端口被占用,你可以通过以下步骤找到占用端口的 PHP 进程:

1. 在列表中找到想要的端口对应的行

2. 查看 COMMAND 列,找到对应的进程名称,如果是 PHP 进程的话,名称是 `php` 或者 `php-fpm`

3. 查看 PID 列,找到对应的进程 ID

如下所示是例子:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

php-fpm 325 root 6u IPv4 0x9c638eb49ca5368a 0t0 TCP *:http (LISTEN)

php-fpm 327 www-data 6u IPv4 0x9c638eb49ca5368a 0t0 TCP *:http (LISTEN)

php-fpm 328 www-data 6u IPv4 0x9c638eb49ca5368a 0t0 TCP *:http (LISTEN)

可以看到,上面的列表中有三个进程在使用 80 端口,所有这三个进程都是 php-fpm 进程,并且对应的 PID 分别是 325、327 和 328。

如果你想要停止占用 80 端口的 PHP 进程,可以使用以下命令杀死进程:

$ sudo kill [PID]

将上面的 [PID] 替换成对应的进程 ID 即可。例如,使用以下命令杀死 PID 为 325 的进程:

$ sudo kill 325

杀死进程后,80 端口就会被释放出来,其他程序就可以正常占用该端口了。