У меня битрикс тоже пишет кал идентифер функцион
|
[QUOTE]Dmitry Sirotin написал:
CMyModuleClass::DoIt();[/QUOTE] вот это помогло. Почему так ко всем функциям в классе нельзя обращаться? Как я пойму что функция которую я в классе написал не статическая? |
|
|
|
|
|
[QUOTE]Игорь Долгополов написал:
Проверьте, на какой версии php крутится ваш сайт, можно посмотреть в админке: Настройки - Производительность - PHP [URL=http://joxi.ru/E2pqM5QS4jMxlA]http://joxi.ru/E2pqM5QS4jMxlA[/URL] И проверьте в консоли, какие версии php у вас доступны для запуска, возможно у вас просто команда php не настроена и запускает какую-то старую версию. Выполните "whereis php" [URL=http://joxi.ru/12M6VKvHw8bLMA]http://joxi.ru/12M6VKvHw8bLMA[/URL] Тогда для конкретного примера, что я привёл (у вас пути будут другие) запуск вашего файла выглядел бы так: [CODE] /opt/php72/bin/php /home/hj7756/tsdvdsika.ru/www/wordsng-sdvds-sdc/imeived.php [/CODE] [/QUOTE] Спасибо, заработало!. Дальше нужно было проверить корректность путей, о чём писали выше и проверить, что $USER->GetID() - получает ID пользователя - я просто поставил ID администратора. |
|
|
|
|
|
[QUOTE]Игорь Долгополов написал:
Проверьте, на какой версии php крутится ваш сайт, можно посмотреть в админке: Настройки - Производительность - PHP [URL=http://joxi.ru/E2pqM5QS4jMxlA]http://joxi.ru/E2pqM5QS4jMxlA[/URL] И проверьте в консоли, какие версии php у вас доступны для запуска, возможно у вас просто команда php не настроена и запускает какую-то старую версию. Выполните "whereis php" [URL=http://joxi.ru/12M6VKvHw8bLMA]http://joxi.ru/12M6VKvHw8bLMA[/URL] Тогда для конкретного примера, что я привёл (у вас пути будут другие) запуск вашего файла выглядел бы так: [CODE] /opt/php72/bin/php /home/hj7756/tsdvdsika.ru/www/wordsng-sdvds-sdc/imeived.php [/CODE] [/QUOTE] Написал вот такой запуск[CODE]/usr/bin/php7.3 /home/hj7756/tsdvdsika.ru/www/wordsng-sdvds-sdc/imeived.php [/CODE]Теперь скрипт запускается, ошибки не выпадают. Но он почему то не записывает инфоблоки. *То есть скрипт выполняется: 1. Удаляет все существующие элементы инфоблока 2. Записывает новые элементы инфоблока - [B]тут он их не записывает [/B] при этом ошибок ни каких не показывает. [CODE]$el = new CIBlockElement; $PROP = array(); foreach ($xml as $key => $value) { $NAME = $value->name; $URLProp = $value->url; $PREVIEW_TEXT = $value->description; $PROP[$PropID] = $URLProp; // свойству с кодом 12 присваиваем значение "Белый" $arLoadProductArray = Array( "MODIFIED_BY" => $USER->GetID(), // элемент изменен текущим пользователем "IBLOCK_SECTION_ID" => false, // элемент лежит в корне раздела "IBLOCK_ID" => $IBLOCK_ID, "PROPERTY_VALUES"=> $PROP, "NAME" => $NAME, "ACTIVE" => "Y", // активен "PREVIEW_TEXT" => $PREVIEW_TEXT, "DETAIL_TEXT" => $PREVIEW_TEXT ); if($PRODUCT_ID = $el->Add($arLoadProductArray)) { echo $PRODUCT_ID . " "; } else echo "Error: ".$el->LAST_ERROR; } [/CODE] В Google Chrome это работает |
|
|
|
|
|
[QUOTE]Алексей Волков написал:
возможно в коде еще что-то не указано(подключение модуля или еще что-то), вот через консоль и не отрабатывает корректно. можно в начало файла добавить что у вас выполняется php и нужно его использовать, например #!/usr/bin/php как вариант можно через консоль не через php запускать, а через wget, но лучше найти ошибку в вашем скрипте[/QUOTE] где об этом почитать можно? не ожидал что запуск скрипта в консоли будет проблемой которую непонятно как решать. В скрипте ошибок нет. В Google Chrome он работает корректно. |
|
|
|
|
|
[QUOTE]Алексей Волков написал:
$_SERVER["DOCUMENT_ROOT"] = realpath(dirname(__FILE__)."/.."); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");[/QUOTE] Вот с этим у меня заработало, но полезной работы не происходит. Скрипт добавляет элементы в инфоблок, но при запуске через SSH консоль он просто выводит последнюю строку из файла, которая сообщает что запись завершена. Если скрипт запускать в Google Chrome то всё работает корректно, элементы в инфоблок добавляются. Но мне этих элементов очень много надо добавить, потому решил запускать скрипт через консоль, но там он почему то не работает. |
|
|
|
|