我需要在后台运行第二个PHP文件.问题是此文件只需在当前文件完成后运行20秒.我已经使用exec(“PHP test_script.PHP”)来运行该文件,但我无法让它等待.如果我使用sleep()如果暂停我当前的脚本.
更具体一点.我正在将文件上传到远程服务器.然后,我需要在完成上传后等待大约20秒,以检查服务器是否有响应.与此同时,我想继续使用当前文件.第二个文件将执行后台所需的操作.目前我必须等待然后运行第二个文件.
解决方法:
最简单的解决方案是be found here.基本上,执行你的脚本如下:
exec('test_script.PHP >/tmp/output.txt &');
注意最后的&符号(‘&’),这将使命令在后台运行!您可以通过在test_script.PHP中添加sleep来将脚本延迟20秒.
您的其他选择是通过客户端的Javascript(AJAX)触发第二个脚本;或者让一个进程在后台运行(或定期通过cron作业),它正在检查某些类型的公共数据(例如数据库)以获取请求,并且如果需要处理这样的请求,它将变为活动状态.
如果脚本必须运行,则JavaScript不是一个选项,因为用户可能决定离开您的页面,或者不执行JavaScript,或者是恶意的,并决定不执行特定的JavaScript.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。