Heim > Artikel > Backend-Entwicklung > 求php阻塞函数
有这样一个需求,a.php执行完成后不能结束,需要阻塞在那里。然后b.php和外部通信并且将外部来的数据传到阻塞中的a.php。
然后最好不要用socket的在网络上的阻塞。
建议别这么做,你在a.php用个参数进行识别,例如:
先访问a.php?type=0;
再访问b.php;
最后访问a.php?type=1;
你的需求是不可能实现的!
你的需求是不可能实现的!
求助版主。。为什么这个需求没法实现?
版主说的对啊,a既然阻塞了,又如何执行接收的动作呢?
a只能做监听的动作,而不是阻塞
版主说的对啊,a既然阻塞了,又如何执行接收的动作呢?
a只能做监听的动作,而不是阻塞
好吧。可能本来没有说太清楚。就是那种处于监听状态的阻塞么
在 http 会话中,php 是作为 http 服务器的工作程序出现的。
如果 php 被挂起,那么 http 服务器因没有得到返回,而不会终止本轮会话
由于 http 协议是无状态协议,所以会话不能重入。(想插话,但不知道在哪里插)
我猜测你打算做服务器推。
由于这种应用与浏览器密切相关,所以目前 php 尚未支持(当然有些服务器端语言已开始支持了)
可以见到的此类 php 应用,是需要用 socket 做服务器的。而你又不愿意那样做
在 http 会话中,php 是作为 http 服务器的工作程序出现的。
如果 php 被挂起,那么 http 服务器因没有得到返回,而不会终止本轮会话
由于 http 协议是无状态协议,所以会话不能重入。(想插话,但不知道在哪里插)
我猜测你打算做服务器推。
由于这种应用与浏览器密切相关,所以目前 php 尚未支持(当然有些服务器端语言已开始支持了)
可以……
那弱弱地问下版主。如果用pcntl或是popen来做进程间通信和阻塞不是也是可能做到的么?
只是pcntl在web上貌似有些不稳定。popen感觉又权限太高,有点危险。
那你是打算修改php内核还是修改apache的内核呢?
如果你具备这个能力,自然不在话下
那你是打算修改php内核还是修改apache的内核呢?
如果你具备这个能力,自然不在话下
貌似确实应该是也只有socket,多谢版主