Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们如何保持连接到自己的PHP客户端和服务器上的池的活动状态_Php_Multithreading_Connection Pooling - Fatal编程技术网

我们如何保持连接到自己的PHP客户端和服务器上的池的活动状态

我们如何保持连接到自己的PHP客户端和服务器上的池的活动状态,php,multithreading,connection-pooling,Php,Multithreading,Connection Pooling,我们如何保持连接的活跃性,将它放到PHP客户机上的池中,并拥有另一台服务器,例如:CORBA服务器、Thrift服务器等等 我能做吗?PHP只是一种脚本语言,PHP服务器为每个请求提供一个线程,并在完成处理后结束该线程。这意味着,在这之后,任何东西都将丢失,因此我无法长期存储任何东西。在这种情况下,我需要存储一个连接池来保持连接 我们知道,如果我们的客户机是Java、C、C/C++,。。。我们可以创建自己的连接池或其他名称,以便长期为多线程重用连接。否则,若拥有客户端连接的服务器是MySql、S

我们如何保持连接的活跃性,将它放到PHP客户机上的池中,并拥有另一台服务器,例如:CORBA服务器、Thrift服务器等等

我能做吗?PHP只是一种脚本语言,PHP服务器为每个请求提供一个线程,并在完成处理后结束该线程。这意味着,在这之后,任何东西都将丢失,因此我无法长期存储任何东西。在这种情况下,我需要存储一个连接池来保持连接

我们知道,如果我们的客户机是Java、C、C/C++,。。。我们可以创建自己的连接池或其他名称,以便长期为多线程重用连接。否则,若拥有客户端连接的服务器是MySql、SQL server、MongoDB。。。我们可以设置持久性或其他方式,因为这些服务器支持其客户端的连接池。不幸的是,在我的例子中,我的客户端是PHP,服务器是Java,使用Thrift连接它们


你能给我一些建议吗?谢谢你的帮助

您没有PHP服务器。您有一个web服务器,并且使用PHP处理请求。当然,这就是请求-应答,当然您不能创建套接字池,因为一旦脚本提供了服务,它就完成了。为了实现这一点,您需要运行一个永远不会结束守护进程的PHP脚本或您喜欢的任何东西。但是,由于您在问题中插入了太多不必要的细节,很难看到您正在优化什么以及您的方法是否正确。谢谢,当然我知道PHP技术是如何工作的,但是,我简单地称之为PHP服务器,这意味着使用PHP脚本Apache、Nginx等的web服务器,。。。我的问题就是如何在PHP中使用多线程?。在您的建议中,您能告诉我如何在Web服务器上运行守护进程PHP脚本吗?我的情况是Apache。您不能启动守护进程,然后让它与Apache对话。您可以启动一个守护进程并直接连接到该守护进程。您可以让Apache调用PHP脚本,脚本连接到用PHP或您喜欢的其他语言编写的守护进程,守护进程使用它与您感兴趣的服务之间的连接池。至于多线程,这是完全不同的事情,但是您可以检查phpNET/pToX,这意味着,我创建一个C++守护进程,例如运行它,我的PHP服务器连接到它,它连接到java服务器或其他:[php服务器Apache——本地C++服务器]——全局- java服务器是的,你只需要在PHP脚本和C++守护进程之间实现协议就可以互相理解。