'exception_handling' =>
array (
'value' =>
array (
'debug' => true,
'handled_errors_types' => E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE & ~E_DEPRECATED,
'exception_errors_types' => E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_USER_WARNING & ~E_USER_NOTICE & ~E_COMPILE_WARNING,
'ignore_silence' => true,
'assertion_throws_exception' => false,
'assertion_error_type' => 256,
'log' => array (
'settings' => array (
'file' => 'bitrix/modules/error.log',
'log_size' => 1000000,
),
),
),
'readonly' => true,
),
# php/Dockerfile
FROM php:7-fpm:latest
MAINTAINER Vasya Pupkin
# Ставим, например, composer.
RUN php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer
php:
build:
context: ./php
dockerfile: Dockerfile
image: my-php
volumes:
- ./www:/www
- ./php/log.conf:/usr/local/etc/php-fpm.d/zz-log.conf
networks:
- code-network
docker-compose exec my-php bash
composer --version
docker-compose exec my-php composer --version
docker-compose run --rm my-php composer --version
#!/usr/bin/env bash
COMPOSE="docker-compose"
if [ $# -gt 0 ]; then
if [ "$1" == "composer" ]; then
shift 1
$COMPOSE run --rm \
-w /www \
my-php \
composer "$@"
# If "test" is used, run unit tests,
# pass-thru any extra arguments to php-unit
elif [ "$1" == "test" ]; then
shift 1
$COMPOSE run --rm \
-w /www \
my-php \
./vendor/bin/phpunit "$@"
# If "npm" is used, run npm
# from our node container
elif [ "$1" == "npm" ]; then
shift 1
$COMPOSE run --rm $TTY \
-w /var/www/html \
node \
npm "$@"
else
$COMPOSE "$@"
fi
else
$COMPOSE ps
fi
./dev.sh # docker-compose ps
./dev.sh logs my-php # docker-compose logs my-php
./dev.sh composer --version # выполнение любой composer команды
./dev.sh npm --version # выполнение любой npm команды
./dev.sh test --filter some_test_method # запуск phpunit тестов
virsh dumpxml vm > vm.xml # получаем конфиг виртуалки
virsh define vm.xml # создаем ВМ из конфига
virsh start vm # запускаем ВМ
2.
теоретически можно так:
lvcreate -L1G -s -n vmhdd.backup /dev/VG/vmhdd # создаем снимок тома ВМ
ssh root@server.ru lvcreate -L20G -n vmhdd VG # создаем том на новом сервере с размером тома оригинала
dd if=/dev/VG/vmhdd.backup | gzip | ssh root@server.ru "gunzip | dd of=/dev/VG/vmhdd" # копируем содержимое тома
lvremove /dev/VG/vmhdd.backup # удаляем снимок
3. Изменить размер тома можно на новом сервере или перед копированием используя resize2fs (ext) или стандартными средствами (Windows)
-> parted -> lvresize
$USER->Authorize(1)
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("О центре");
echo '
<div class="side"><!-- Тут боковое меню --></div>
<div class="main">
<!-- Тут контент, который надо редактировать -->
<p>';
?>
Текст
<?
echo '</p>
</div>';
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
<div class="side"> и <div class="main">
вынести в шаблон. //Обновить один конкретный iFrame
$('#iframe')[0].contentWindow.location.reload(true);
//Обновить все iFrame на странице
$('iframe').each(function() {
this.contentWindow.location.reload(true);
});
//Еще один способ обновить все iFrame
$('iframe').attr('src', $('iframe').attr('src'));
<?php
ignore_user_abort(1);
error_reporting(0);
header("Content-Type: text/html; charset=utf-8");
$cat = array();
$xml = new XMLReader();
$xml->open('./yml - Kopie.xml');
while($xml->read() && $xml->name !== 'category');
while($xml->name === 'category'){
$node = new SimpleXMLElement($xml->readOuterXML());
$id = +$xml->getAttribute("id");
$name = ''. $node;
$cat[$id] = $name;
$xml->next('category');
}
$xml->close();
//////////////////////////////
$xml = new XMLReader();
$xml->open('./yml - Kopie.xml');
$allparams = array();
$idparams = array();
while($xml->read() && $xml->name !== 'offer');
while($xml->name === 'offer'){
$node = new SimpleXMLElement($xml->readOuterXML());
$id = +$xml->getAttribute("id");
foreach ($node->param as $param){
$name = ''. $param['name'];
$value = ''. $param;
$allparams[] = ''. $param['name'];
$idparams[$id][$name] = $value;
}
$xml->next('offer');
}
$xml->close();
$allparams = array_unique($allparams);
sort($allparams);
//////////////////////////////
$xml = new XMLReader();
$xml->open('./yml - Kopie.xml');
$flag = true;
while($xml->read() && $xml->name !== 'offer');
while($xml->name === 'offer'){
$node = new SimpleXMLElement($xml->readOuterXML());
$id = $xml->getAttribute("id");
$available = $xml->getAttribute("available");
$url = $node->url;
$price = $node->price;
$currencyId = $node->currencyId;
$delivery = $node->delivery;
$local_delivery_cost = $node->local_delivery_cost;
$typePrefix = $node->typePrefix;
$vendor = $node->vendor;
$vendorCode = $node->vendorCode;
$model = $node->model;
$description = $node->description;
$cpa = $node->cpa;
$weight = $node->weight;
$pickup = $node->pickup;
$c = +$node->categoryId;
$category = $cat[$c];
$picture = '';
foreach ($node->picture as $pic){
$picture .= $pic .' ';
}
if($flag){
$str = '"id";"Наличие";"url товара";"Цена";"Валюта";"Доставка";"Цена доставки";"Тип";"Производитель";"Код производителя";"Модель";"Описание";"Заказ на маркете";"Вес";"url картинки";"Самовывоз";"Категория";';
$j = count($allparams);
while($j-- > 0){
$str .= '"'. $allparams[$j] .'";';
}
$str .= PHP_EOL;
$str = mb_convert_encoding ($str ,"Windows-1251" , "UTF-8" );
$path = fopen("out.csv", "a+");
fwrite($path, $str);
fclose($path);
$flag = false;
}
$params = '';
$j = count($allparams);
while($j-- > 0){
$params .= '"'. $idparams[$id][$allparams[$j]] .'";';
}
$str = '"'. $id .'";';
$str .= '"'. $available .'";';
$str .= '"'. $url .'";';
$str .= '"'. $price .'";';
$str .= '"'. $currencyId .'";';
$str .= '"'. $delivery .'";';
$str .= '"'. $local_delivery_cost .'";';
$str .= '"'. $typePrefix .'";';
$str .= '"'. $vendor .'";';
$str .= '"'. $vendorCode .'";';
$str .= '"'. $model .'";';
$str .= '"'. $description .'";';
$str .= '"'. $cpa .'";';
$str .= '"'. $weight .'";';
$str .= '"'. $picture .'";';
$str .= '"'. $pickup .'";';
$str .= '"'. $category .'";';
$str .= $params;
$str .= PHP_EOL;
$str = mb_convert_encoding ($str ,"Windows-1251" , "UTF-8" );
$path = fopen("out.csv", "a+");
fwrite($path, $str);
fclose($path);
$xml->next('offer');
}
$xml->close();
gc_enable();
echo 'ok';
?>
sed 's#\(<description>\).*\(</description>\)#\1'xxxxx'\2#g' test.xml > test2.xml