【问题标题】:Execute PHP file in the background through wordpress [closed]通过wordpress在后台执行PHP文件[关闭]
【发布时间】:2019-03-02 22:38:16
【问题描述】:

我有一个程序/框架,每天凌晨 3 点使用 Cpanel Cron Job 触发一次。这会使用命令更新数据库,以便在本地服务器上运行的 C++ 更新或在 Web 服务器数据库中创建新条目。

我有 wordpress 通过跨数据库访问此数据以向最终用户显示此信息,但是,在 Cpanel Cron 触发我的框架并设置请求之前,我的 C++ 程序不会发送任何数据。我不希望每分钟都设置我的 cron 作业,因为这会对我的 Web 服务器造成巨大的损失。但是,如果我有一个将执行 php 文件的“刷新”按钮,那么 C++ 程序将具有更新数据库所需的参数。 (最终用户仅在特殊场合每周执行一次)

我不能设置一个包含 php 的触发器函数和设置 wordpress ajax,因为它会破坏 WordPress 的环境(特别是因为该函数需要注册 ajax.php 以便 jscrip 可以调用它)

对不起,如果它令人困惑。

【问题讨论】:

  • cPanel cron 作业命令是什么?

标签: php wordpress cron


【解决方案1】:

jQuery .load() 方法可以为您解决问题。你也可以使用 .ajax 方法,jQuery 文档会强制执行,但我更喜欢第一个显示结果:

jQuery("#refresh").click(function(){jQuery("#showresults").load("yourScript.php");});

【讨论】:

  • CronJob 不会触发任何 js
  • 对,但这不是必需的。
【解决方案2】:

Wordpress 有自己的系统来创建他们所说的 cron 或“计划事件”,唯一的限制是,必须有人访问您的网站,如果计划已过,系统将执行 cron。

更多信息请阅读here

您还可以使用wordpress的命令行界面库,通过命令行为您调用wordpress的不同选项,如备份、创建帖子、更新完整的wordpress核心和插件等。

更多信息请阅读here

希望这对你有用。

【讨论】:

    【解决方案3】:

    如果 cron 由 cPanel 处理,则无需在 WP 上执行任何与 cron 相关的工作。如果您想对用户单击执行操作,您可以发送 ajax req,它将执行您想要的 php。您可以使用 php 默认 exec 命令来执行您的 php 脚本

    在此处了解如何在 wp 中使用 ajax https://www.smashingmagazine.com/2011/10/how-to-use-ajax-in-wordpress/

    your_ajax_func() {
    exec('php your file name.php', $output)
    }
    

    更多关于执行http://php.net/manual/en/function.exec.php

    如果这不是您想要的,请提供更多信息。

    从 WP 设置 Cron 你可以使用这个参考。

    https://codex.wordpress.org/Function_Reference/wp_schedule_event

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-02
      • 2015-03-11
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      • 1970-01-01
      • 2014-12-01
      • 1970-01-01
      相关资源
      最近更新 更多