【问题标题】:Codeigniter cron job causing log errorCodeigniter cron 作业导致日志错误
【发布时间】:2018-07-21 20:28:13
【问题描述】:

我有一个执行 codeigniter 脚本的 cron 作业。在下面的某个地方,某处正在写入日志文件。如果这是当天的第一次尝试,那么 cron 作业用户会创建文件,而不是通常的所有者 apache。这会导致在日志文件中显示一堆错误,如下所示:

ERROR - 2011-12-08 22:45:09 --> Severity: Warning  --> chmod(): µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤Áàºî¤Ç¤¹ /xxx/xxx/xxx/system/libraries/Log.php 109

如果我手动将所有者更改为 apache,它们就会消失。

关闭日志记录是不切实际的,我可以去编辑底层的codeigniter代码,我认为这不是一个好的解决方案。

让 codeigniter cron 作业正确处理日志文件的最佳方法是什么?

【问题讨论】:

    标签: php codeigniter permissions cron


    【解决方案1】:

    以 apache 身份运行 cron 作业,而不是当前以任何其他随机用户身份运行。

    【讨论】:

    • @Jahmic 在 shell 中你可以像这样编辑 apache crontab:crontab -u apache -e
    • 啊,原来是apache的cron进程。
    • 嗯,还不能完全判断它是否工作正常,但假设是这样,所以你会得到一个复选标记。
    【解决方案2】:
    <?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,"url where your controller");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $server_output = curl_exec ($ch);
    curl_close ($ch);
    ?>                                                                                                                                   set your cron job give location where this file location
    

    【讨论】:

      猜你喜欢
      • 2013-12-20
      • 1970-01-01
      • 2013-03-05
      • 2020-01-13
      • 1970-01-01
      • 2011-01-15
      • 2012-01-07
      • 2021-08-31
      • 2019-04-21
      相关资源
      最近更新 更多