Добрый день. Возникла необходимость запустить скрипт из консоли. Создаю тестовый файлик:
Запускаю. Вывод:
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.
Как быть?