1

我的页面所做的是:

  1. 从不同的服务器下载一个数组(first.php)
  2. php脚本解析值
  3. 解析值通过 ajax 调用发送
  4. 在下一个(称为ajax)页面(second.php)上有一些mysql查询
  5. 如果值通过条件,则将值写入数据库

....所以,当我运行我的 first.php .. 它加载 second.php 时,一切都很好.. 但我想知道是否可以让它由 cron 生成?

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

4

3 回答 3

4

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

首先是 PHP 可以作为 aweb server module或作为standalone 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 调用。

于 2012-10-26T20:36:25.617 回答
0

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

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

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

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

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

于 2012-10-26T20:34:21.687 回答
0

听起来您需要一个独立的 JavaScript shell。在以下位置列出了一个数字:

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

于 2012-10-26T20:43:44.743 回答