Я уже писал скрипты, которые "молча" подключаются к Битриксу, что-то типа этого:
Таким образом этот include периодически запускается...
Сразу вопрос: а так вообще корректно?
Так вот, если запускать connectToBitrix.php с командной строки напрямую - он работает, а как я написал выше - он не работает. Выпадает ошибка:
PHP Warning: include_once(/var/www/site/WWW/bitrix/modules/iblock/classes//iblockeleme nt.php): failed to open stream: No such file or directory in /var/www/site/WWW/bitrix/modules/main/lib/loader.php on line 264
и дальше
PHP Fatal error: Class 'CIBlockElement' not found in /var/www/site/WWW/script/core/connectToBitrix.php on line 26
Что здесь не так?
| Код |
|---|
<?php
$_SERVER["DOCUMENT_ROOT"] = "/var/www/site/WWW";
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
// some code
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
|
Теперь стоит почти такая же задача, но есть нюансы:
некий php скрипт работает в цикле (не переставая) и при определенных условиях он должен подключиться к битриксу, прочитать содержимое инфоблока средствами api и возвратить данные, т. е. я сделал так:
| Код |
|---|
if ( условие ) {
$result = include( 'connectToBitrix.php' );
} |
Сразу вопрос: а так вообще корректно?
Так вот, если запускать connectToBitrix.php с командной строки напрямую - он работает, а как я написал выше - он не работает. Выпадает ошибка:
PHP Warning: include_once(/var/www/site/WWW/bitrix/modules/iblock/classes//iblockeleme
и дальше
PHP Fatal error: Class 'CIBlockElement' not found in /var/www/site/WWW/script/core/connectToBitrix.php on line 26
Что здесь не так?
... Чего я сразу об этом не додумался?