Heim >Backend-Entwicklung >PHP-Tutorial >PHP异步执行问题

PHP异步执行问题

WBOY
WBOYOriginal
2016-06-23 14:39:06952Durchsuche

PHP在执行exec()方法时,会等待exec方法完全执行完之后才会继续执行其余代码
而exec()会执行很长时间,这样的话页面就会一直处于等待状态,
等exec执行完之后才会刷新,
所以有没有某种方法可以使exec在后台执行的同时,让页面不用等待exec执行完毕就刷新?


回复讨论(解决方案)

尝试在被执行的指令后面加个 &
但并不是所用命令都可以在后台执行的

尝试在被执行的指令后面加个 &
但并不是所用命令都可以在后台执行的

试了,不行
页面上有个按钮,
1.点击后更新DB
2.DB更新后页面刷新
3.当页面onload的时候用AJAX执行后台一个方法,这个方法的作用是向服务器2发送一个HTTP请求
4.当服务器2接收到3的请求后,执行exec方法,该方法执行服务器2目录下的一个bat文件(里面是Java的jar包)

因为4运行的时间过长,所以就产生了一个帖子。。。

这个貌似不可以,你可以在服务器端弄个事件队列,当服务器2接收到3的请求后就加一个事件进去,在服务器2上面写一个处理事件程序。

看到这个,就可以体会到基于事件处理语言的好处了。。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn