Исправить настройки по умолчанию для крона

Рейтинг: 0.4619  
На голосовании
Предложил Зайцев Артемий 08.11.2013 19:00:18

Исправить настройки по умолчанию для крона



Страница экспорта в Яндекс-маркет:


Для VMBitrix /usr/local/php/bin/php - неправильный путь.

Правильный путь /usr/bin/php или просто php

Пусть путь сам как-то определяется. Настройки по умолчанию не годятся. Флажок "установить автоматически" не работает.

Рейтинг: 0  
Зайцев Артемий 09.11.2013 17:09:11
И заодно файл /bitrix/php_interface/include/catalog/export/cron_frame.php исправить.

Это же порнография:

#!/usr/local/php/bin/php -q
<?php
$_SERVER["DOCUMENT_ROOT"] = "/home/bitrix/www";
 

DOCUMENT_ROOT просто задан константой.
Рейтинг: 0  
Жуков Евгений 09.11.2013 19:14:20
Артемий, а что необходимо исправить? при работе на cron неизвестны ни путь к php, ни (тем более), DOCUMENT_ROOT. Все это необходимо настраивать вручную, т.к. оба могут (и будут) индивидуальными для конкртеного проекта.
Рейтинг: 0  
Зайцев Артемий 09.11.2013 22:09:11
Всё должно само считаться, как в cron_events


<?php
$_SERVER["DOCUMENT_ROOT"] = realpath(dirname(__FILE__)."/. ./. ./. ./..");
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];

define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS",true);
define("BX_CRONTAB", true);
define('BX_NO_ACCELERATOR_RESET', true);

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

@set_time_limit(0);
@ignore_user_abort(true);

CEvent::CheckEvents();

require($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/tools/backup.php");
?>
 

Более того, еще обратите внимание, правильный порядок
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

@set_time_limit(0);
А не наоборот, как в
/bitrix/php_interface/include/catalog/export/cron_frame.php
и
/bitrix/modules/main/tools/backup.php

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

Потому что на всех сайтах в dbconn.php пишут:

@set_time_limit(60);

----------

Если просто делать бэкап напрямую /bitrix/modules/main/tools/backup.php - обрывается через минуту.