连续执行远程php脚本

时间:2011-02-06 02:52:17

标签: php javascript remote-server

我在远程Web服务器上有几个php脚本,我不知道如何创建一个连续执行这些远程脚本的本地脚本(几秒钟之间的延迟就可以了)然后继续执行本地php脚本(分析远程脚本收集的信息)。

目前我只使用iframe运行远程脚本,但我不愿意。

我假设我可以使用javascript来做到这一点,但是虽然我可以成功编程PHP / MySQL - 但是当涉及到javascript时我就迷失了。

4 个答案:

答案 0 :(得分:2)

您可以在PHP中使用cURL。它将发出一个http请求并等待结果,然后使用sleep()来分隔执行。

http://us3.php.net/curl

答案 1 :(得分:1)

如果您知道所有网址,请使用以下内容:

var data = [];
$.when( $.ajax("url1.php") ).then(function(ajaxArgs){
data.push(ajaxArgs);
$.when( $.ajax("url2.php") ).then(function(ajaxArgs){
data.push(ajaxArgs);
$.when( $.ajax("url3.php") ).then(function(ajaxArgs){
data.push(ajaxArgs);
// process data
})
})
});

使用jQuery 1.5 http://api.jquery.com/jQuery.when

答案 2 :(得分:0)

根据您的操作系统和服务器的操作系统,您可以从cron执行类似的操作:

ssh user@host '/usr/bin/php /path/to/script.php'

您也可以通过cron直接在服务器上运行它:

/usr/bin/php /path/to/script.php

或者,您可以使用wget或curl通过Apache / your-fav-web-server运行脚本。但是,上述方法具有诸如轻松获取脚本错误的电子邮件等好处。

也许再提供一些信息:  *远程服务器OS?  *服务器shell访问?  *工作站/本地服务器OS?

答案 3 :(得分:0)

如果您使用jquery,可以尝试类似

的内容
$(function(){
    $.get('http://youraddress/script1.php',function(){
        $.get('http://youraddress/script2.php',function(){
            $.get('http://youraddress/script3.php',function(){
                $.get('http://youraddress/script4.php',function(){
                    //you are done
                });
            });
        });
    });
});