【问题标题】:cronjob is not running with codeignitercronjob 没有使用 codeigniter 运行
【发布时间】:2019-04-27 10:36:40
【问题描述】:

这是我的 cronjob 命令。我正在使用 codeigniter。

curl -s https://duainternational.com.pk/update_system/employee/test_notification >/dev/null 2>&1
cron time

M   H   D   M   Weekday
5   *   *   *   *

我做错了什么?我无法让 cronjob 运行

【问题讨论】:

  • 这与php 有什么关系?并且:您是否尝试过将命令的输出发送到文件并查看它?并且:你的 crontab 条目在哪里?
  • @FranzGleichmann 指导我您到底想说什么。如果我手动运行这个 url,它可以工作,crontab 条目设置为 1 分钟?
  • 在这里查看我的答案,也许有帮助:stackoverflow.com/a/36190095/2275490
  • 从 cron 作业中删除 2>&1 以获得错误协议(通常是邮件)。
  • @Wiimm 就是这样,我想向所有允许来自该站点的通知的用户发送桌面通知。在这个 cron 中,我正在呼应 javascript 通知功能,但它不起作用,请参阅屏幕 www.screencast.com/t/L3tRedumX

标签: codeigniter curl cpanel


【解决方案1】:

在 cron 作业中,路径未知。所以,在 curl 前面加上它的路径。

如果 curl 在/usr/bin/,你应该写:

/usr/bin/curl -s https://example.com/ >/dev/null 2>&1`

【讨论】:

  • 不工作,如果域服务提供商方面存在问题,这可能吗?
  • 您是否尝试记录输出而不是将其重定向到/dev/null
  • 是的,我试过了,事情是这样的,我想将桌面通知发送给所有允许来自该站点的通知的用户。在这个 cron 中,我正在呼应 javascript 通知功能,所以它不起作用
【解决方案2】:

假设您想在 CodeIgniter 上运行 controller/method/argument,然后尝试使用命令行界面 (CLI)。 (Documentation)

您需要提供 CodeIgniter 的 index.php 文件的完整系统路径。我正在对这条路径进行假设。将您的系统路径替换为index.php

php /var/www/website/public_html/index.php update_system/employee test_notification

我所做的其他假设是 employee 控制器在这条路径上 /application/controllers/update_system/ 并且您要运行的方法是 test_notification

知道在使用 CLI 时不能使用会话类。如果您尝试使用会话,CLI 请求将失败。

【讨论】:

    猜你喜欢
    • 2022-01-20
    相关资源
    最近更新 更多