gpt4 book ai didi

php - CakePHP中的Cron Jobs突然停止了

转载 作者:行者123 更新时间:2023-12-02 14:30:21 29 4
gpt4 key购买 nike

我正在使用CakePHP 3.5构建的系统上工作,该系统具有多个Cron Jobs,它们全天运行。

这些cron作业始终以以下格式执行:

/home/myuser/public_html/bin/cake shell_name command_name

在运行cron时,它们通常在服务器发送的默认系统电子邮件中输出进度,例如:
Welcome to CakePHP v3.4.11 Console
---------------------------------------------------------------
App : src
Path: /home/myuser/public_html/src/
PHP : 5.6.31
---------------------------------------------------------------
Starting Thirty Minute Report Email Cron (JSON and PDF files)....
- Report 1 complete
- Report 2 complete
Report emails sent.
Cron Finished.

昨天,由于代码未做任何更改,因此这些cron已停止工作。

现在输出的是CakePHP 3.5 Shell Helper:
Welcome to CakePHP v3.4.11 Console
---------------------------------------------------------------
App : src
Path: /home/myuser/public_html/src/
PHP : 5.6.31
---------------------------------------------------------------
Current Paths:

* app: src
* root: /home/myuser/public_html
* core: /home/myuser/public_html/vendor/cakephp/cakephp

Available Shells:

[Bake] bake

[Migrations] migrations

[CORE] cache, i18n, orm_cache, plugin, routes, server

[app] console, backups, tasks

To run an app or core command, type `cake shell_name [args]`
To run a plugin command, type `cake Plugin.shell_name [args]`
To get help on a specific command, type `cake shell_name --help`

奇怪的是,如果我通过SSH(在实时生产服务器上)运行这些命令,则它们执行没有问题,它们也在localhost上执行。

我遵循的是CakePHP文档中所述的正确格式,这是我的shell:
namespace App\Shell;

use Cake\Console\Shell;
use Cake\Core\Configure;

class TasksShell extends Shell {

/*****
*** SENDS THE REPORT EMAIL AT A THIRTY MINUTE INTERVAL
*****/
public function thirtyMinReport() {
/** CODE **/
}

}

运行的cron是:
/home/myuser/public_html/bin/cake tasks thirty_min_report

今天,我还尝试了它的变体:
/home/myuser/public_html/bin/cake tasks thirtyMinReport
/home/myuser/public_html/bin/cake Tasks thirtyMinReport
php /home/myuser/public_html/bin/cake.php Tasks thirtyMinReport
cd /home/myuser/public_html && bin/cake Tasks thirtyMinReport

在CakePHP网站 here上,我也发现其他人也有同样的问题,但是仍然没有解决。

我有什么可以忽略的,那就是阻止cron shell_name和command_name的发现?

最佳答案

对于遇到麻烦的任何人,我自己都能找到答案。

由于我不知道的原因,服务器php配置已更新,现在register_argc_argv设置为Off。

我重新启用了此功能,而cron作业又可以正常工作了。

register_argc_argv = On

这项编辑是针对 /opt/alt/php56/etc/php.ini

关于php - CakePHP中的Cron Jobs突然停止了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48939743/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com