如何在为最终用户加载页面之前等待完成而不执行PHP脚本?

时间:2014-08-12 20:10:21

标签: php ajax

我正在开发一个网站插件,利用YouTube API抓取特定频道的某些数据。问题是代码需要几秒钟来加载更大的通道,这意味着用户必须等待相当多的时间才能完成加载,然后才能查看每个页面。大多数情况下,检索到的数据甚至与它们无关,但脚本仍然需要运行其检查。那么如何在用户不必等待的情况下初始化PHP脚本呢?

我的第一个想法是使用AJAX并向远程脚本发出请求,但这会导致部分页面在脚本运行时挂起吗?我不需要脚本的结果,我只需要脚本运行并做自己的事情。

2 个答案:

答案 0 :(得分:0)

您可以使用exec启动单独的PHP脚本。并且在末尾添加&将使exec返回imidiately。

让script.php完成繁重的工作并从商城脚本中调用它:

exec("php script.php > /dev/null &");

您需要拥有* nix服务器环境。不要认为它适用于Windows平台。

答案 1 :(得分:0)

AJAX代表异步 JavaScript和XML,这意味着,在使用它时,不会阻止其余代码的执行。

您可以对要执行的脚本发出AJAX请求,然后继续正常呈现页面。 AJAX请求将在后台执行,并且不会受到任何干扰。