【问题标题】:Run PHP/Javascript/AJAX Application On Schedule/Cron?在 Schedule/Cron 上运行 PHP/Javascript/AJAX 应用程序?
【发布时间】:2018-04-08 04:37:39
【问题描述】:

我需要部署一个混合了纯 PHP、JavaScript、jQuery 和 AJAX 的应用程序。在浏览器中调用时,它可以在所有机器上完美运行。不幸的是,我还需要将此应用程序部署到无法运行浏览器的机器上。

仅使用 PHP 运行文件将输出结果文件,但不执行任何 Javascript。

我有哪些选择可以让这个任务运行?机器可以访问 xampp,但不能访问浏览器。

编辑:应用程序从 MSSQL 获取数据,使用 Javascript 将数据转换为图表,使用 AJAX 调用将这些文件保存到磁盘,然后调用另一个 PHP 脚本以邮寄结果文件的副本。

【问题讨论】:

  • 你能告诉你你的脚本实际上是做什么的吗?
  • @Tarun 我已编辑以显示此信息。
  • 您应该能够仅使用 PHP 从数据中生成图表,然后您就可以开始了。

标签: javascript php command-line cron scheduled-tasks


【解决方案1】:

这取决于您对 Javascript 的确切需求,但不幸的是,如果您的应用程序确实依赖于浏览器(并且无法移植到更适合该约束的东西),您将需要以某种方式“伪造”浏览器.这里有几个选项。

  1. PhantomJS 基本上是一个无头 Webkit 引擎(想想 Chrome 或 Safari)。
  2. HtmlUnit 用于基于 Java 的解决方案,由 Mozilla 支持/开发
  3. Other rabbit holes(维基百科/无头浏览器)
  4. NodeJS 提供了一个非浏览器、无头、Javascript 特定选项,但要求您的代码比最初为浏览器编写的许多代码库更健壮和通用。

【讨论】:

  • 我会看看这些,看看这些是否可行。这些是按从好到坏的顺序排列的,还是都差不多?
  • “最好到最坏”是主观的;我将它们以某种随机顺序排列,不太了解您的问题,但是,特别是考虑到您的编辑,考虑到代码的 current 状态,我可能会首先考虑 PhantomJS 以便于移植,而 NodeJS 第二个则更长-term 更强大的解决方案集。
  • 最终,我选择了一个轻量级的无头浏览器,它的运行效果比我预期的要好得多。 +1、接受并收藏以备将来使用。
猜你喜欢
  • 2011-08-11
  • 1970-01-01
  • 2020-11-19
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-05
相关资源
最近更新 更多