Как организовать деплой с Bitbacket
VPS с Ubuntu, на нем установлен соответственно git и созданы 2 папки под сайты test.example.com (тестовая версия сайта) и example.com (боевая версия)
VPS с Ubuntu, на нем установлен соответственно git и созданы 2 папки под сайты test.example.com (тестовая версия сайта) и example.com (боевая версия)
Код получения списка соглашений которые доступны в Битриксе.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
use \Bitrix\Main\UserConsent\Agreement, \Bitrix\Main\UserConsent\Internals\AgreementTable; $arResult = []; $typeNames = Agreement::getTypeNames(); $list = AgreementTable::getList([ 'select' => ['ID', 'DATE_INSERT', 'ACTIVE', 'NAME', 'TYPE'], 'filter' => [], 'count_total' => true, 'cache' => ['ttl' => 3600] ]); foreach ($list as $item) { $item['ACTIVE'] = $booleanList[$item['ACTIVE']]; $item['TYPE'] = $typeNames[$item['TYPE']]; $arResult[] = $item; } print_r($arResult); |
При вводе, точно правильного, логина и пароля выскакивает ошибка «Неверный логин или пароль.», которая вводит в состояние непонимания причин такого поведения битрикса. Поисковик выдавал такие темы с решениями: — https://dev.1c-bitrix.ru/support/forum/forum6/topic61250/ — https://dev.1c-bitrix.ru/support/forum/forum6/topic36326/ и т.п. Это может помочь, но есть ещё один, как оказывается, простой вариант который тоже необходимо проверить. Причиной показа может стать если пользователь […]
Ошибка «/usr/local/vesta/php/sbin/vesta-php: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3′ not found (required by /usr/local/vesta/php/sbin/vesta-php)»:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
:~# systemctl status vesta.service ● vesta.service - LSB: starts the vesta control panel Loaded: loaded (/etc/init.d/vesta; generated) Active: failed (Result: exit-code) since Wed 2021-06-30 14:00:55 MSK; 1min 13s ago Docs: man:systemd-sysv-generator(8) Process: 4855 ExecStart=/etc/init.d/vesta start (code=exited, status=1/FAILURE) Tasks: 2 (limit: 2336) CGroup: /system.slice/vesta.service ├─777 nginx: master process /usr/local/vesta/nginx/sbin/vesta-nginx └─779 nginx: worker process Jun 30 14:00:55 194-..... systemd[1]: vesta.service: Found left-over process 779 (vesta-nginx) in control group while starting unit. Ignoring. Jun 30 14:00:55 194-..... systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies. Jun 30 14:00:55 194-..... systemd[1]: Starting LSB: starts the vesta control panel... Jun 30 14:00:55 194-..... vesta[4855]: * Starting vesta-nginx vesta-nginx Jun 30 14:00:55 194-..... vesta[4855]: ...done. Jun 30 14:00:55 194-..... vesta[4855]: * Starting vesta-php vesta-php Jun 30 14:00:55 194-..... vesta[4855]: /usr/local/vesta/php/sbin/vesta-php: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /usr/local/vesta/php/sbin/vesta-php) Jun 30 14:00:55 194-..... systemd[1]: vesta.service: Control process exited, code=exited status=1 Jun 30 14:00:55 194-..... systemd[1]: vesta.service: Failed with result 'exit-code'. Jun 30 14:00:55 194-..... systemd[1]: Failed to start LSB: starts the vesta control panel. |
Решение взято от сюда https://forum.vestacp.com/viewtopic.php?t=16787, и состоит в том, что бы добавить пакет в котором реализована совместимость curl3 и curl4 — https://launchpad.net/~xapienz/+archive/ubuntu/curl34. Я добавил пакет и после обновил, т.к. curl у меня уже был установлен:
1 |
sudo add-apt-repository ppa:xapienz/curl34 |
1 |
sudo apt-get update |
1 |
sudo apt-get upgrade |
Запускаем vesta cp:
1 |
service vesta start |
Если ошибка […]
При установке laravel 8 и при попытке запуска laravel mix начались появляться ошибки которые не давали по итогу запустить npm run dev. Здесь описание ошибок (которые сохранил или запомнил) и последовательность шагов которые помогли решить проблему. Всё проводилось в vagrant homestead Win10. Итак. Сначала при установке сыпались ошибки при выполнении команды npm install связанные со […]
Добавить Let’s Encrypt wildcard в VestaCP (т.е. бесплатный ssl на домен и все возможные поддомены) получится только, если домен привязан к dns серверу на VestaCP. Это значит, что если настроено через dns яндекса, гугла или мейлру, то встроенный механизм в VestaCP Let’s Encrypt wildcard работать не будет. Итак, последовательность действий запуска ssl. Добавление NS и […]
Когда функция ciblockpricetools::getitemprices возвращает пустой массив, то скорее всего это в неправильности вызова функции. Пример правильного рабочего вызова функции…
Что бы отображать прогресс загрузки при использовании JQuery в $.ajax функции указываем параметр xhr. Пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
var orderForm = document.getElementById('basket-order-form'); orderForm.addEventListener('submit', function (e) { e.preventDefault(); var formData = new FormData(orderForm); var btnText = $('.js--submit-order').text(); $.ajax({ url: api_path + 'basket.php', type: "POST", data: formData, processData: false, contentType: false, xhr: function () { var jqXHR = null; if ( window.ActiveXObject ) { jqXHR = new window.ActiveXObject( "Microsoft.XMLHTTP" ); } else { jqXHR = new window.XMLHttpRequest(); } //Upload progress var btnSuccess = $('.js--submit-order'); jqXHR.upload.addEventListener( "progress", function ( evt ) { if ( evt.lengthComputable ) { var percentComplete = Math.round( (evt.loaded * 100) / evt.total ); //Do something with upload progress // console.log( 'Uploaded percent', percentComplete ); btnSuccess.text(percentComplete + '%'); } }, false ); //Download progress jqXHR.addEventListener( "progress", function ( evt ) { if ( evt.lengthComputable ) { var percentComplete = Math.round( (evt.loaded * 100) / evt.total ); //Do something with download progress console.log( 'Downloaded percent', percentComplete ); } }, false ); return jqXHR; }, success: function (data) { $('.js--submit-order').text(btnText); }, dataType: 'json' }); }); |
Способ такой реализации взят от сюда: https://gist.github.com/umidjons/6173837
Ошибка вида «TypeError: ‘append’ called on an object that does not implement interface FormData.» за частую появляется при попытки передачи объекта данных FormData через функцию ajax библиотеки JQuery. Например следующий код выдаст ошибку:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
function formSubmit(e) { e.preventDefault(); var form = this; var formData = new FormData(form); formData.append('ajax', 'Y'); $.ajax({ url: api_path, type: 'POST', data: formData, success: function (data) { alert(data); }, dataType: 'json' }); } |
Что бы исправить эту ошибку необходимо для функции ajax передавать два параметра processData: false, contentType: false. Правильный код будет выглядеть следующим […]
При добавлении нового элемента для поля стандартного поля типа ACTIVE_TO и для свойства типа Дата/Время формат данных «d.m.Y H:i:s»:
1 |
$addProp['ZAKAZ_DATE'] = $date->format('d.m.Y H:i:s'); |