LAMP для FreeBSD 12 (Drupal 8-WordPress 5)

Apache:

pkg install apache24
sysrc apache24_enable=yes

Правим /usr/local/etc/apache24/httpd.conf, устанавливая ServerName и ServerAdmin. Далее можно запускать:

service apache24 start

Mysql 8:

pkg install mysql81-server
sysrc mysql_enable=yes
service mysql-server start
mysql_secure_installation

для того чтобы работало старое ПО (новая схема аутенфикации), можно выставить режим совместимости:

mcedit /usr/local/etc/mysql/my.cnf
<code>[mysqld]
...
default_authentication_plugin   = mysql_native_password
...</code>
/usr/local/etc/rc.d/mysql-server restart

Memcached:

pkg install memcached_enable
sysrc memcached_enable=yes
service memcached start

PHP:

pkg install php73-bcmath php73-tokenizer php73-memcache php73-pdo php73-pdo_mysql mod_php73 php73-hash php73-mysqli php73-zip php73-openssl php73-mbstring php73-mysqli php73-json php73-iconv php73-gd php73-curl php73-dom php73-curl

В /usr/local/etc/apache24/httpd.conf добавим:

<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>
/usr/local/etc/rc.d/apache24 restart

PHP Mailer : SERVER -> CLIENT: 220 TLS go ahead

На днях на одном из хостингов столкнулся с проблемой отправки писем, ошибка в консоли была:

SERVER -> CLIENT: 220 TLS go ahead

Погуглив, нашел решение:

$correo->SMTPOptions = array(
        'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);

1С: передача файла с клиента на сервер, управляемое приложение

Ситуация: пользователь на клиенте выбирает файл, и его нужно обработать. Удобнее всего это сделать на сервере, т.к. на клиенте многие функции и процедуры не доступны. Реализовать это возможно помещение данных во временное хранилище, а далее из него, при вызове серверной процедуры, «обратное» изьятие. Например реализовать это можно как-то вот так:

&НаКлиенте
Процедура ЗагрузитьSonex()
	
	БинарныйФайл = Новый ДвоичныеДанные(Объект.ИмяФайла);
	сообщить("-помещаем во временное хранилище");
	АдресВХ = ПоместитьВоВременноеХранилище(БинарныйФайл,ЭтаФорма.УникальныйИдентификатор);	
	ОбработатьНодХМЛНаСервере(АдресВХ,объект.ГруппаЗагрузки);
	
	сообщить("-ок");
	
КонецПроцедуры

&НаСервере
Процедура ОбработатьНодХМЛНаСервере(АдресВХ,владелец);
	сообщить(АдресВХ);
	ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВХ);
	
	тПуть = "c:\temp\pricesonix.xml"; //для примера...
	ДвоичныеДанные.Записать(тПуть);	
	
	ЧтениеХ=Новый ЧтениеXML;
	ЧтениеХ.ОткрытьФайл(тПуть);	
КонецПроцедуры

 

Аналог case..swith в 1С

Вот такую конструкцию в 1С можно считать аналогом  операторов case…swith в других языках:

если ст.Параметр="Изготовитель" тогда
										обсп.Брэнд=ст.Значение;
									ИначеЕсли ст.Параметр="Страна" тогда
										обсп.Страна=ст.Значение;
									иначе	
										нс=обсп.Характеристики.Добавить();
										нс.Наименование=ст.Параметр;
										нс.Значение=ст.Значение;									
									конецесли;

UBUNTU — переносим swap с раздела в файл

1) Отключаем текущий swap файл

#sudo swapoff -a

2) Создаем новый swap файл (например 1 гиг)

#sudo dd if=/dev/zero of=/swapfile bs=1M count=8000

3) Права доступа 600

#sudo chmod -c 600 /swapfile

4) Форматируем, получаем в консоль его UID:

#sudo mkswap /swapfile
Setting up swapspace version 1, size = 12 GiB (12911738880 bytes)
без метки, UUID=882f43bf-fd53-426e-bfff-0691a89b1917

5) Включаем swap

#sudo swapon /swapfile

6) Добавляем в /etc/fstab

UUID=882f43bf-fd53-426e-bfff-0691a89b1917 none swap sw 0 0