0

我在 home/bitrix/www/services/report/ 中有 index.php 文件。现在我想每 1 分钟运行一次这个文件,如何在 Bitrix24 中设置一个 cron。我尝试了下面的代码,但它不起作用。

* * * * * /usr/bin/php -f /home/bitrix/www/services/report/index.php

当我通过命令行运行此代码时,我收到以下错误。

打开失败所需的'/home/bitrix/modules/main/include/prolog_before.php。

4

1 回答 1

0

检查你的页面,可能它以这样的开头:

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

$_SERVER 全局变量由 Web 服务器设置。当您在 CLI 中运行脚本时, So$_SERVER["DOCUMENT_ROOT"]不存在(或设置的值不正确)。您需要手动将其设置为文档根目录。

这是一个例子: $_SERVER["DOCUMENT_ROOT"] = '/home/bitrix/www';

您可以在 require 表达式中替换$_SERVER["DOCUMENT_ROOT"]子字符串,但我记得$_SERVER["DOCUMENT_ROOT"]它在所有核心文件中都使用过,也许设置它是最好的选择。

更新: 另一个选项可能是从cron运行wgetcurl到您的 url

于 2018-10-23T09:09:34.860 回答