一种用PHP检查端口的方法(多线程?)

一种用PHP检查端口的方法(多线程?),php,multithreading,curl,multiprocessing,fsockopen,Php,Multithreading,Curl,Multiprocessing,Fsockopen,我目前正在使用cURL multi在几秒钟内检查数千个http状态代码,效果非常好。 但是,我想知道-我是否可以使用cURL或其他PHP多任务方法检查端口是否有响应(例如mysql)?您可以使用fsockopen()扫描端口,但每个PHP脚本都在一个线程上运行 您可以使用fsockopen()扫描端口,但每个PHP脚本在一个线程上运行 简短的回答是: PHP中没有线程 但是,您可以查看扩展。这与线程无关,而是fork(这意味着将为每个fork创建一个进程) A在几年前就已经开发出来了,但现在已经

我目前正在使用cURL multi在几秒钟内检查数千个http状态代码,效果非常好。

但是,我想知道-我是否可以使用cURL或其他PHP多任务方法检查端口是否有响应(例如mysql)?

您可以使用
fsockopen()
扫描端口,但每个PHP脚本都在一个线程上运行


您可以使用
fsockopen()
扫描端口,但每个PHP脚本在一个线程上运行

简短的回答是:

PHP中没有线程

但是,您可以查看扩展。这与线程无关,而是fork(这意味着将为每个fork创建一个进程)

A在几年前就已经开发出来了,但现在已经有2年没有更新了

叉子是完全有价值的,可以在您的用例中使用,但是它不容易维护或编写。 根据您的需要,您可能最好使用python或perl,它们都具有更好的线程支持。

简短回答:

PHP中没有线程

但是,您可以查看扩展。这与线程无关,而是fork(这意味着将为每个fork创建一个进程)

A在几年前就已经开发出来了,但现在已经有2年没有更新了

叉子是完全有价值的,可以在您的用例中使用,但是它不容易维护或编写。
根据您的需要,您最好使用python或perl,它们都有更好的线程支持。

简短回答:不。请使用支持多线程的语言。或者像Node.js这样的异步问题是使用
fsockopen
是同步的;连接后,您可以将套接字设置为非阻塞,并使用
stream\u select
多路传输连接,但您会损失连接所花费的时间。除此之外,您还需要代码来处理来自该端口的响应(例如mysql)简短回答:不,使用支持多线程的语言。或者像Node.js这样的异步问题是使用
fsockopen
是同步的;连接后,您可以将套接字设置为非阻塞,并使用
stream\u select
多路传输连接,但您会损失连接所花费的时间。除此之外,您还需要代码来处理来自该端口的响应(例如mysql)