有可能使用ajax,jquery页面与cron?

时间:2012-10-26 20:29:27

标签: php javascript mysql ajax cron

我的页面是做什么的:

  1. 从不同的服务器下载数组(first.php)
  2. php脚本解析值
  3. 使用ajax调用
  4. 发送已解析的值
  5. 在下一个(ajax调用)页面(second.php)上有一些mysql查询
  6. 如果值通过条件,则值将写入数据库
  7. ....所以,当我运行我的first.php ..它加载second.php,一切都很好.. 但我想知道是否有可能让它由cron制作?

    如果没有,我该怎么办? 感谢。

3 个答案:

答案 0 :(得分:4)

在这方面你需要了解某些事情。

首先,PHP可以作为web server modulestandalone executable运行。当您将其作为Web服务器模块运行时,您可以从浏览器中打开它,所有相关的Web技术(html/css/js)等都会被解析并协同工作。

当您使用cron从命令行运行它时,例如/usr/bin/php mywebpage.php 然后php可执行文件不解析/理解其他Web技术,因此您的页面将失败。

有两种解决方法:

  1. 仅重写那些支持Web的部分,以便获得ajax / js 由PHP处理。基本上,拇指的规则是,如果你是 运行CLI php脚本,它应该只包含核心PHP。这是首选方式。您需要将ajax调用移动到同一个文件中,并将其作为单个执行流程,就像任何常规程序一样。

  2. 如果由于某种原因你无法做到,请尝试以下方法: /path/to/browser http://mysite/mywebpage.php。在这里,您正在运行浏览器可执行文件,然后调用网页URL。这样页面就在浏览器的环境中执行,它将能够解析和理解ajax / js调用。

答案 1 :(得分:0)

是的,您可以通过以下方式创建一个cron作业。

1)从不同的服务器下载数组(first.php)

2)php脚本解析first.php中的值

3)包含第二个文件,second.php由include_once执行mysql查询

4)如果一切正确,请将它们插入数据库。

答案 2 :(得分:0)

听起来你需要一个独立的JavaScript shell。有一个列在:

https://developer.mozilla.org/en-US/docs/JavaScript/Shells