Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每个月运行一次的php和mysql过程_Php_Mysql - Fatal编程技术网

每个月运行一次的php和mysql过程

每个月运行一次的php和mysql过程,php,mysql,Php,Mysql,我有一个php网站和mysql数据库 我需要一个sql函数每月运行一次 我该怎么做呢 编辑 真的很抱歉没有说清楚。我没有linux VPS。只是一个具有php和mysql功能的基本托管服务。我正在考虑将来购买一台“真正的”服务器,但是现在,还有其他的方法吗?如果您有适当的服务器访问权限,我会设置一个作业 大多数现代发行版都有一个文件夹/etc/cron.monthly,您可以将脚本放在那里,它将每月运行一次 如果希望在运行脚本时获得更多控制,可以设置自己的CRON条目 如果您能够正确访问服务器,

我有一个php网站和mysql数据库

我需要一个sql函数每月运行一次

我该怎么做呢

编辑


真的很抱歉没有说清楚。我没有linux VPS。只是一个具有php和mysql功能的基本托管服务。我正在考虑将来购买一台“真正的”服务器,但是现在,还有其他的方法吗?

如果您有适当的服务器访问权限,我会设置一个作业

大多数现代发行版都有一个文件夹
/etc/cron.monthly
,您可以将脚本放在那里,它将每月运行一次


如果希望在运行脚本时获得更多控制,可以设置自己的CRON条目

如果您能够正确访问服务器,我会设置作业

大多数现代发行版都有一个文件夹
/etc/cron.monthly
,您可以将脚本放在那里,它将每月运行一次


如果希望在运行脚本时获得更多控制,可以设置自己的CRON条目

设置一个cronjob,指向包含对SQL查询调用的PHP文件


设置一个指向包含SQL查询调用的PHP文件的cronjob


您可以使用cronjobs来修复此问题:)

问候,
stefan

您可以使用cronjobs来修复此问题:)

问候,
stefan

CRON作业是解决此问题的解决方案。Tuts.

CRON作业就是解决这个问题的方法。啧啧。

似乎每个人都希望你使用cronjob。
问题是is需要超级用户访问服务器。
我建议改为使用MySQL事件

请注意,这确实需要超级用户访问MySQL数据库

见:

首先确保已启用事件计划程序:

SET GLOBAL event_scheduler = ON;
您可以按如下方式设置事件:

DELIMITER $$

CREATE EVENT IF NOT EXISTS event_name ON SCHEDULE EVERY MONTH
STARTS CURRENT_TIMESTAMP + INTERVAL 1 DAY 
ON COMPLETION PRESERVE
ENABLE 
COMMENT 'comment'
DO BEGIN
  //SQL statements here.
END $$

DELIMITER ;

似乎每个人都希望你使用cronjob。
问题是is需要超级用户访问服务器。
我建议改为使用MySQL事件

请注意,这确实需要超级用户访问MySQL数据库

见:

首先确保已启用事件计划程序:

SET GLOBAL event_scheduler = ON;
您可以按如下方式设置事件:

DELIMITER $$

CREATE EVENT IF NOT EXISTS event_name ON SCHEDULE EVERY MONTH
STARTS CURRENT_TIMESTAMP + INTERVAL 1 DAY 
ON COMPLETION PRESERVE
ENABLE 
COMMENT 'comment'
DO BEGIN
  //SQL statements here.
END $$

DELIMITER ;

如果您可以使用MySQL事件调度器-查看Johan的答案。如果您可以使用MySQL事件调度器-查看Johan的答案,MySQL事件调度器将是一个很好的选项。回答很好-特别是当OP没有权限设置CRON作业时。我要添加的唯一一件事是确保事件调度器已启用:
SET GLOBAL event\u scheduler=ON正是我一直在寻找的答案。非常感谢!回答很好-尤其是当OP没有权限设置CRON作业时。我要添加的唯一一件事是确保事件调度器已启用:
SET GLOBAL event\u scheduler=ON正是我一直在寻找的答案。非常感谢!