【问题标题】:Schedule update SQL Query using Php使用 PHP 安排更新 SQL 查询
【发布时间】:2023-03-21 04:55:01
【问题描述】:

我有一个手机价格的网站,所有价格都是从外部站点手动收集的,我只想安排每 3 天更新一次价格 ($emag, $koyos)。

我的手动更新查询是这样的:

$editare = "UPDATE modele SET koyos='$koyos', emag='$emag' WHERE id ='{$id}' ";

if ($dbh->query($editare))
 {
   print "<div><h2><img src=\"http://mysite.com/images/ok.png\"/><br /><br /Succes!</h2><br />
  Vei fi redirectionat in cateva momente inspre adaugarea unui nou model de tableta sau telefon!
<meta http-equiv=\"refresh\" content=\"2; URL=index.php\"/>";
}
 else mysql_error(); 

如何在 3 天后自动执行此查询?

!我的虚拟主机不支持cronjob SSH, cPanel or Plesk

【问题讨论】:

  • 我对 cron 作业 Yogesh 不是很熟悉
  • 它是一个调度任务,只需要你配置你的服务器每3天执行一次脚本,这个脚本就是你当前的代码。
  • @lesus 图片上的好主意,我在下面的答案中添加了这个。

标签: php sql schedule


【解决方案1】:

首先,您需要在 PHP 中编写一个脚本来执行您想做的事情(基本上,它只是您想要在预定时间运行的 PHP 代码,不需要添加)。

然后,使用 cron 作业,您可以根据需要安排其运行频率。

*/4 * * * * wget --spider file.php 在 crontab 中每 4 分钟运行一次。您可能想阅读一些crontab tutorials

这是来自以下链接之一的图片,描述了如何安排您想要的时间:


Cronjobs 基本上是每隔一段时间运行一次的计划。它们真的很有用,我一直在 Linux 上使用它们。

上面的链接对于解释每 x 分钟执行一次脚本所需输入的数字非常有用,但您可能需要谷歌“Cronjob 计算器”自动为您计算正确的数字(我自己做这个)有时)。

在安装了 crontab 的 linux 中,键入 crontab -l 以查看所有 cronjobs 的列表。键入 crontab -e 以编辑当前用户的 cronjob 列表。这是你粘贴我上面给你的代码的地方。

编辑:要了解基本的 cronjobs,首先安装 crontab。然后,使用上面的代码执行写入文件的脚本。然后,只需 tail -f 该文件,并观察它如何(在 cronjob 启动后的四分钟内)在您眼前更新。

从基础开始。然后让它执行你的 MySQL 脚本。

有用的链接:

http://www.linuxweblog.com/crotab-tutorial
http://clickmojo.com/code/cron-tutorial.html(这看起来不错)
http://www.tutorial5.com/content/view/95/51/
http://www.thegeekstuff.com/2011/07/cron-every-5-minutes/(分钟/天解释)

注意:你不能少于一分钟。最后一个链接建议使用sleep() 命令来解决此问题,因此请检查一下。


OP 的问题在于,由于他使用非常受限的共享主机,他无法访问 SSH、cPanel、cronjobs 或其他类似的东西。

这里的一个选项是使用exec()shell_exec() 分离一个单独的过程来获取PHP 文件,最后使用nohup 和一个与号(&),以及很长的sleep() 时间OP 想要的天数。这将导致 PHP 脚本在服务器的后台运行。

上述示例需要采取保护措施,即:如果服务器重新启动,则脚本将不再运行,必须重新启动。相反,如果用户在错误的时间意外点击了脚本(或其他人这样做),则会产生多个进程,因此可能会发生检查进程是否已经运行的安全措施(或者基本的密码输入要求可能会有所帮助以避免意外命中)。

【讨论】:

  • 非常感谢,你让我...现在我试试
  • 哪里必须放*/4 * * * * wget --spider file.php命令?在我网站的脚本或 phpmyadmin 中还是必须放在其他地方?谢谢!
  • 我有一个共享的虚拟主机,但没有 SSH 或 CRONJOB
  • 酷,那你应该很好。您正在寻找“如何使用 cPanel 安排 cronjobs”。应该是大量的谷歌搜索结果。我担心你有一段时间没有CPanel!也许this link 有帮助?
  • 除了 cronjob ssh、cpanel 或 plesk 之外还有什么选择吗?我的虚拟主机不支持这 3 个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-27
  • 2014-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多