Добрый день. Возникла необходимость запустить скрипт из консоли. Создаю тестовый файлик:
Запускаю. Вывод:
1) Куда теряется $_SERVER["DOCUMENT_ROOT"]?
2) Видимо, из-за первого пункта не происходит подключение главного модуля, поэтому вываливается в ветку"12", а не как хочется в "134".
3) Плохой факт: примерно раз в 100 запусков оно совершенно случайно проходит по ветке 134, сохраняя DOCUMENT_ROOT.
Как быть?
| Код |
|---|
#!/usr/bin/php
<?php
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
global $_server_document_root;
$_server_document_root = "/var/www/site";
$_SERVER["DOCUMENT_ROOT"] = $_server_document_root;
echo "SERVER_BEFORE: ".$_SERVER["DOCUMENT_ROOT"]."\n";
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
echo "SERVER_AFTER: ".$_SERVER["DOCUMENT_ROOT"]."\n";
set_time_limit(0);
echo "1\n";
if (!CModule::IncludeModule('iblock')){
echo "2\n";
return;
}
echo "3\n";
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
echo "4\n";
?>
|
Запускаю. Вывод:
| Код |
|---|
SERVER_BEFORE: /var/www/nashe SERVER_AFTER: 1 2 |
2) Видимо, из-за первого пункта не происходит подключение главного модуля, поэтому вываливается в ветку"12", а не как хочется в "134".
3) Плохой факт: примерно раз в 100 запусков оно совершенно случайно проходит по ветке 134, сохраняя DOCUMENT_ROOT.
Как быть?