我用popen函数来异步执行PHP代码
<code>//a.php<?phpfor($i; $i//b.php<?php$argv = getopt("a:b:c:");echo $argv['a'],$argv['b'],$argv['c'];sleep(5);?></code>
原来我在b.php的代码是更新数据库(因为逻辑太复杂所以没有帐号上来.),但是只有在a.php 执行fread $open才能正常执行b.php的代码.如果去掉fread 就没有执行.(数据库里没有更新)
更新:好像把pclose放远点又可以正常执行了.看来是执行b.php代码要点时间,如果提早关闭了会影响执行,是这个原因吗?
。本文来源gao!%daima.com搞$代*!码网1
搞代gaodaima码
回复内容:
我用popen函数来异步执行PHP代码
<code>//a.php<?phpfor($i; $i//b.php<?php$argv = getopt("a:b:c:");echo $argv['a'],$argv['b'],$argv['c'];sleep(5);?></code>
原来我在b.php的代码是更新数据库(因为逻辑太复杂所以没有帐号上来.),但是只有在a.php 执行fread $open才能正常执行b.php的代码.如果去掉fread 就没有执行.(数据库里没有更新)
更新:好像把pclose放远点又可以正常执行了.看来是执行b.php代码要点时间,如果提早关闭了会影响执行,是这个原因吗?
试试 pclose(popen(“php b.php -a $argv1 -b $argv2 &”,’r’));