Я уже писал скрипты, которые "молча" подключаются к Битриксу, что-то типа этого:
Таким образом этот 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
Что здесь не так?