Задать вопрос

Как исправить ошибки при выполнении php скрипта?

Делаю выгрузку свойств и полей товаров из xml в Битрикс.
У меня есть xml с файлами, которые надо синхронизировать
<xml>
    <Files>
        <File href="/home/bitrix/ext_www/optguru.ru/upload/exchange_product/exchangeProductSku_1.xml"/>
        <File href="/home/bitrix/ext_www/optguru.ru/upload/exchange_product/exchangeProductSku_2.xml"/>
        ...
        <File href="/home/bitrix/ext_www/optguru.ru/upload/exchange_product/exchangeProductSku_8.xml"/>
        <File href="/home/bitrix/ext_www/optguru.ru/upload/exchange_product/exchangeProductSku_9.xml"/>
    </Files>
</xml>

Пример xml для одного товара:
<Product>
            <Fields>
                <Field name="IBLOCK_ID">
                    <Value value="10"/>
                </Field>
                ...
                <Field name="DETAIL_PICTURE">
                    <Value value="/home/bitrix/ext_www/somebox.ru/upload/iblock/848/848f0af4929ee54080c9385cb4c1e764.jpg"/>
                </Field>
            </Fields>
            <Properties>
                <Property name="Цвет" property_type="S" multiply="N">
                    <Value value="black"/>
                </Property>
                <Property name="Картинки" property_type="F" multiply="Y">
                    <Value value="/home/bitrix/ext_www/somebox.ru/upload/iblock/656/656a385443ce96a1479fd8955f426b34.jpg"/>
                    <Value value="/home/bitrix/ext_www/somebox.ru/upload/iblock/d5e/d5e25ed1c4872e1dad379c2e08d7bee5.jpg"/>
                </Property>
            </Properties>
        </Product>

Не знаю, стоит ли выкладывать весь php скрипт, если понадобится - выложу.
Fields я обновляю
$el = new CIBlockElement;
$res = $el->Update($PRODUCT_ID, $fields);

Properties обновляю:
CIBlockElement::SetPropertyValuesEx($PRODUCT_ID, CATALOG_SKU_IBLOCK, $properties);

Использую XMLReader для работы с xml.
При запуске скрипта получаю ошибки:
[bitrix@server0 ~]$ /usr/bin/php /home/bitrix/ext_www/optguru.ru/include/tools/exchangeProductIn.php
PHP Fatal error:  require_once(): Failed opening required '/home/bitrix/ext_www/optguru.ru/bitrix/modules/main/include/epilog_after.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/bitrix/ext_www/optguru.ru/include/tools/exchangeProductIn.php on line 249
PHP Stack trace:
PHP   1. {main}() /home/bitrix/ext_www/optguru.ru/include/tools/exchangeProductIn.php:0
PHP Fatal error:  require_once(): Failed opening required '/home/bitrix/ext_www/optguru.ru/bitrix/modules/main/lib/diag/exceptionhandlerlog.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/bitrix/ext_www/optguru.ru/bitrix/modules/main/lib/loader.php on line 377
PHP Stack trace:
PHP   1. {main}() /home/bitrix/ext_www/optguru.ru/include/tools/exchangeProductIn.php:0
PHP   2. Bitrix\Main\Diag\ExceptionHandler->handleFatalError() /home/bitrix/ext_www/optguru.ru/bitrix/modules/main/lib/diag/exceptionhandler.php:0
PHP   3. spl_autoload_call() /home/bitrix/ext_www/optguru.ru/bitrix/modules/main/lib/diag/exceptionhandler.php:350
PHP   4. Bitrix\Main\Loader::autoLoad() /home/bitrix/ext_www/optguru.ru/bitrix/modules/main/lib/diag/exceptionhandler.php:350

Fatal error: require_once(): Failed opening required '/home/bitrix/ext_www/optguru.ru/bitrix/modules/main/include/epilog_after.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/bitrix/ext_www/optguru.ru/include/tools/exchangeProductIn.php on line 249

Call Stack:
    0.0005     399480   1. {main}() /home/bitrix/ext_www/optguru.ru/include/tools/exchangeProductIn.php:0


Fatal error: require_once(): Failed opening required '/home/bitrix/ext_www/optguru.ru/bitrix/modules/main/lib/diag/exceptionhandlerlog.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/bitrix/ext_www/optguru.ru/bitrix/modules/main/lib/loader.php on line 377

Call Stack:
    0.0005     399480   1. {main}() /home/bitrix/ext_www/optguru.ru/include/tools/exchangeProductIn.php:0
 1211.3847  147692632   2. Bitrix\Main\Diag\ExceptionHandler->handleFatalError() /home/bitrix/ext_www/optguru.ru/bitrix/modules/main/lib/diag/exceptionhandler.php:0
 1211.3847  147694944   3. spl_autoload_call() /home/bitrix/ext_www/optguru.ru/bitrix/modules/main/lib/diag/exceptionhandler.php:350
 1211.3847  147695064   4. Bitrix\Main\Loader::autoLoad() /home/bitrix/ext_www/optguru.ru/bitrix/modules/main/lib/diag/exceptionhandler.php:350


Не могу понять почему так происходит. Самое непонятное, почему когда я пытаюсь обрабатывать каждый файл отдельно - все нормально, когда все сразу - ошибки.
  • Вопрос задан
  • 426 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
yuraSco
@yuraSco Автор вопроса
Может ли это быть от того что памяти не хватает?
Ответ написан
Комментировать
Возможно надо указать абсолютный путь к скриптам при подключении
require_once __DIR__ .'/home/bitrix/ext_www/optguru.ru/bitrix/modules/main/include/epilog_after.php';
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы