如何使用 php 中的 cron 作业自动删除 mysql 行?

Posted

技术标签:

【中文标题】如何使用 php 中的 cron 作业自动删除 mysql 行?【英文标题】:How to delete mysql rows automatically using cron job in php? 【发布时间】:2015-04-21 12:00:05 【问题描述】:

我需要删除每天超过 24 小时但仍无法正常工作的行我的代码中是否有任何错误 cron 命令:

/usr/bin/php -q/home/mywebsite/public_html/folder/deleteafter24hours.php >/dev/null 2>&1

php代码:

$DeleteQuery = mysql_query('DELETE FROM `table` WHERE `DatePOST` < (NOW() - INTERVAL 1 DAY)');

【问题讨论】:

您的代码是否不需要连接到数据库或其他东西才能使用该查询? sry 写错了,是的,它连接到数据库@genisage 您是否在 mysql 控制台中尝试过此查询?如果它在那里工作,那么显然问题不在于 sql 而是 PHP,或者 cron 用户的权限或其他任何东西 在此代码上不允许连接到 mysql、数据库、....在控制台上运行并查看结果。 @Ahmad 您的文件 deleteafter24hours.php 在哪里? 【参考方案1】:

在你的 .sh 中试试这个:

#!/bin/sh
 php /home/mywebsite/public_html/folder/deleteafter24hours.php

我想你的脚本在 /home/mywebsite/public_html/folder/

然后从 shell 运行你的脚本

【讨论】:

@Ahmad 我编辑我的答案添加到您的 .sh 的第一行:#!/bin/sh 并使用您的 .sh 文件的内容编辑您的问题 @Ahmad 你有预付款吗?

以上是关于如何使用 php 中的 cron 作业自动删除 mysql 行?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PHP 创建 cron 作业?

如何使用 php 脚本创建 cron 作业?

使用控制面板在 cron 作业中运行 PHP 文件

使用 PHP 创建、编辑和删除 crontab 作业?

在 cpanel 中使用 cron 作业运行 php 脚本

如何以编程方式设置 Cron 作业?