php 调用 可执行程序问题

baohua100 2008-11-28 02:57:50
php 调用了 一个 /bin 下面的 可执行程序,需要运行很久, 但是调用的时候,页面一直在等待,怎样让页面不等待,程序还是运行?
...全文
127 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
baohua100 2008-12-02
  • 打赏
  • 举报
回复
php 里面 有一句

exec($cmd,$t);

调用的可执行程序 需要 执行一到4天,在php页面上点击完 运行后,页面一直在等待。 怎么在 页面 直接 打印 一句话,说 到时会发封邮件 把结果告诉给用户, 页面不要一直等待了。


if (ob_get_level() == 0) ob_start();

for ($i = 0; $i <10; $i++){

ob_start();
ob_end_clean();
flush();
echo($i);
sleep(1);
ob_end_flush();

}

这段代码放在php代码的什么地方?我放在 exec($cmd,$t); 后面 还是不行啊
baohua100 2008-12-02
  • 打赏
  • 举报
回复
自己解决了

pclose(popen($cmd.' /dev/null &', 'r'));

php页面不用再等待了,关键是加上 /dev/null &
baohua100 2008-12-02
  • 打赏
  • 举报
回复
不过还清楚 怎么 用 cli 模式 调用 一个 可执行程序?
baohua100 2008-12-02
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 yanhuajin 的回复:]
你在点击后exec执行前echo出提示不就OK了
[/Quote]

没有任何意义。




ShadowSniper 正解。
an9ryfr09 2008-12-02
  • 打赏
  • 举报
回复
用cli模式执行,这种需要明显不应该是在web上做的。
cymple 2008-12-02
  • 打赏
  • 举报
回复
ignore_user_abort
TR@SOE 2008-12-02
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 yanhuajin 的回复:]
你在点击后exec执行前echo出提示不就OK了
[/Quote]

这个方法可以用,但是太简单粗暴了。

程序是不是还在,传进去的参数对不对都可能影响程序的正常执行。怎么能在还不知道程序是否“正常”启动的前提下就断言程序已经启动了呢?
yanhuajin 2008-12-02
  • 打赏
  • 举报
回复
你在点击后exec执行前echo出提示不就OK了
conqweal 2008-12-01
  • 打赏
  • 举报
回复
if (ob_get_level() == 0) ob_start();

for ($i = 0; $i<10; $i++){

ob_start();
ob_end_clean();
flush();
echo($i);
sleep(1);
ob_end_flush();

}


控制下缓冲,以上测试用。
baohua100 2008-11-30
  • 打赏
  • 举报
回复
没人知道 简单方法吗! 求助
herman011 2008-11-28
  • 打赏
  • 举报
回复
这个程序要运行 一天, 我是说在php页面上点击完 运行后, 页面 直接 打印 一句话,说 到时会发封邮件 把结果告诉给用户, 页面不要一直等待了。
Zijian_Zhang 2008-11-28
  • 打赏
  • 举报
回复
Ajax可以啊,没有了,Ajax也是会等待的,但是页面没有更新,所以看不出
baohua100 2008-11-28
  • 打赏
  • 举报
回复
说错了, 是 加上 & 没有用。

有没有 除了 ajax 的 简单方法啊
baohua100 2008-11-28
  • 打赏
  • 举报
回复
试过了,没有用

[Quote=引用 1 楼 vvkl 的回复:]
ajax?
[/Quote]
lanxk 2008-11-28
  • 打赏
  • 举报
回复
调用这个程序的时候用 & 符号放到后台运行
vvkl 2008-11-28
  • 打赏
  • 举报
回复
ajax?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧