【发布时间】:2015-01-08 15:00:46
【问题描述】:
我有一个通过电子邮件向我的客户发送 url 的站点,一旦他们收到它们就会单击链接,它会在浏览器中加载并完成一些调用 PHP 脚本的 Ajax。此脚本中调用了多个 AJAX 函数。
他们要求这个过程是自动化的,这样他们就不必每次单击链接并等待大约 15 分钟来完成所有 Ajax。
理想情况下,无需重新编码功能并继续使用完全相同的 Ajax,我希望能够自动执行此过程。所以我想运行一个 cron 来加载一个调用这些 URL 的脚本。
这可能吗?
我尝试了几件事,但加载脚本时没有任何反应。当我什么都不说时,我的意思既不是错误,也不是脚本的功能。 (我打开了错误报告)。
例如
cUrl
init_set('display_errors',1);
error_reporting(E_ALL);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://example.com/myscript.php?varialbe=sample_get_content");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
执行
exec('http://example.com/myscript.php');
只需打开脚本...
$contents = file_get_contents('http://example.com/myscript.php?varialbe=sample_get_content');
我知道另一种选择是重建功能,以便我不使用 AJAX,但我不希望这样做,因为这需要时间。
编辑:由于 GET 变量的变化,实际的脚本 URL 本身被称为更改,所以我不能直接通过 cron 运行它(或者我可以吗?)
【问题讨论】:
-
脚本是否读取像 $_GET 的 $_REQUEST 这样的 URL 参数?
-
您为什么不简单地将 myscript.php 作为 CGI 运行 - 即直接通过 cron 调用它。只需添加 #!/path/to/phpcgibin -q 作为脚本的第一行
-
@KevInSol,实际上我会更新我的问题以澄清这一点,原因是脚本的 url 每次都不同(不同的 GET 变量),(除非它仍然可以以某种方式执行?)
-
好的,实际上我要补充的是,如果 myscript.php 进行 ajax 调用,它需要由浏览器运行,因为它是进行 ajax cal 的浏览器,也许这是你的问题?
-
Web 服务器和 AJAX 是完全不同的东西。您不能从 PHP 创建 XMLHttpRequest 对象。