我的页面所做的是:
- 从不同的服务器下载一个数组(first.php)
- php脚本解析值
- 解析值通过 ajax 调用发送
- 在下一个(称为ajax)页面(second.php)上有一些mysql查询
- 如果值通过条件,则将值写入数据库
....所以,当我运行我的 first.php .. 它加载 second.php 时,一切都很好.. 但我想知道是否可以让它由 cron 生成?
如果没有,我该怎么办?谢谢。
我的页面所做的是:
....所以,当我运行我的 first.php .. 它加载 second.php 时,一切都很好.. 但我想知道是否可以让它由 cron 生成?
如果没有,我该怎么办?谢谢。
在这方面,您需要了解某些事情。
首先是 PHP 可以作为 aweb server module
或作为standalone executable
. 当您将其作为 Web 服务器模块运行时,您可以从浏览器中打开它,所有相关的 Web 技术(html/css/js)
等都会被解析并协同工作。
当您使用 cron 从命令行运行它时/usr/bin/php mywebpage.php
,php 可执行文件不会解析/理解其他 Web 技术,因此您的页面将失败。
有两种解决方法:
只重写那些支持 web 的部分,以便 ajax/js 的东西由 PHP 处理。基本上经验法则是,如果您正在运行 CLI php 脚本,它应该只包含核心 PHP。这是首选方式。您需要将 ajax 调用移动到同一个文件中,并像任何常规程序一样使其成为单个执行流。
如果由于某种原因您无法执行上述操作,您可以尝试以下操作:
/path/to/browser http://mysite/mywebpage.php
. 你正在做的是,你正在运行一个浏览器可执行文件,然后调用网页 URL。这样,页面在浏览器的环境中执行,它将能够解析和理解 ajax/js 调用。
是的,您可以通过以下方式创建一个 cron 作业。
1)从不同的服务器(first.php)下载一个数组
2) php 脚本解析 first.php 中的值
3)通过include_once包含第二个文件second.php,它执行mysql查询
4)如果一切正确,将它们插入数据库。
听起来您需要一个独立的 JavaScript shell。在以下位置列出了一个数字: