1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$dealId = 123; \Bitrix\Main\Loader::includeModule('crm'); $result = \Bitrix\Crm\ActivityTable::query() ->where('OWNER_ID', $dealId) ->where('OWNER_TYPE_ID', \CCrmOwnerType::Deal) ->where('IS_EMAIL_IN', 1) ->setSelect(['SUBJECT']) ->setOrder(['ID' => 'ASC']) ->setLimit(1) ->exec() ->fetch(); var_dump($result); /* array(1) { ["SUBJECT"]=> string(12) "Заказ 1" } */ |
Автор: admin
Процесс kworker нагружает процессор
Для отключения уведомлений смотреть
1 2 3 4 5 6 7 8 9 |
$ sudo grep bled /sys/firmware/acpi/interrupts/gpe* /sys/firmware/acpi/interrupts/gpe01: 0 EN enabled unmasked /sys/firmware/acpi/interrupts/gpe02: 0 EN enabled unmasked /sys/firmware/acpi/interrupts/gpe06: 5 EN enabled unmasked /sys/firmware/acpi/interrupts/gpe07: 0 enabled unmasked /sys/firmware/acpi/interrupts/gpe09: 0 disabled unmasked /sys/firmware/acpi/interrupts/gpe0D: 0 disabled unmasked /sys/firmware/acpi/interrupts/gpe13:154054570 EN STS enabled unmasked /sys/firmware/acpi/interrupts/gpe19: 220 EN enabled unmasked |
Отключить gpe13
1 |
echo "disable" | sudo tee /sys/firmware/acpi/interrupts/gpe13 |
NTFS-раздел монтируется только на чтение
В графической утилите не видно, что диск не может смонтироваться для записи из-за ошибки. Зато в консоли сразу видна причина:
1 2 3 4 5 6 |
$ sudo mount /mnt/mydisk The disk contains an unclean file system (0, 0). Metadata kept in Windows cache, refused to mount. Falling back to read-only mount because the NTFS partition is in an unsafe state. Please resume and shutdown Windows fully (no hibernation or fast restarting.) |
Лечиться это просто запуском утилиты:
1 |
sudo ntfsfix /dev/sdb5 |
Права к файлам в Linux
Проверить есть ли у пользователя права на чтение файла:
1 |
sudo -u nginx test -r /var/www/site1/index.php || echo "No permission to the file" |
На чтение каталога:
1 |
sudo -u nginx test -x /var/www/site1 || echo "No permission to the directory" |
Настройка соединения с Bluetooth-гарнитурой
Список доступных команд для управления bluetooth
1 |
bluetoothctl help |
Подключение нового устройства
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
$ bluetoothctl [bluetooth]# scan on Discovery started [CHG] Controller 00:10:20:30:40:50 Discovering: yes ... [NEW] Device 10:20:30:40:50:60 My device ... [bluetooth]# pair 10:20:30:40:50:60 Attempting to pair with 10:20:30:40:50:60 [CHG] Device 10:20:30:40:50:60 Connected: yes [CHG] Device 10:20:30:40:50:60 UUIDs: 00002233-0000-0000-0000-0000549e3568 ... [CHG] Device 10:20:30:40:50:60 ServicesResolved: yes [CHG] Device 10:20:30:40:50:60 Paired: yes Pairing successful [CHG] Device 10:20:30:40:50:60 ServicesResolved: no [CHG] Device 10:20:30:40:50:60 Connected: no ... [bluetooth]# connect 10:20:30:40:50:60 Attempting to connect to 10:20:30:40:50:60 [CHG] Device 10:20:30:40:50:60 Connected: yes Connection successful [CHG] Device 10:20:30:40:50:60 ServicesResolved: yes ... |
Список устройств
1 2 3 4 |
$ bluetoothctl devices Device 10:20:30:40:50:61 HP-345 Device 10:20:30:40:50:62 Redmi Device 10:20:30:40:50:60 My device |
Подключиться к устройству
1 |
$ bluetoothctl connect 10:20:30:40:50:60 |
Отключиться
1 |
$ bluetoothctl disconnect 10:20:30:40:50:60 |
Защищено: Литература по моделированию
Ротация логов — logrotate
Для ротации логов достаточно добавить конфигурационный файл в каталог /etc/logrotate.d. Например, /etc/logrotate.d/mylittleservice
1 2 3 4 5 6 7 8 9 10 |
/custom/log/path/mylittleservice.log { daily rotate 7 dateext missingok notifempty delaycompress create 0664 little little su root apache } |
daily — ежедневный
rotate 7 — глубина 7 (7 дней)
dateext — в расширении будет дата, а не цифра
missingok
notifempty
delaycompress
create 0664 little little — создать с правами для пользователя little и группы little
su root little — если в папке права не только для root
Помощники в изучении English
https://www.grammarly.com/ — проверка орфографии и грамматики
https://howjsay.com/ — произношение от носителей языка
https://forvo.com/ — произношение в разных странах
Работа composer за прокси-сервером
После установки прокси-сервера перестал работать composer:
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 |
$ composer diagnose Checking composer.json: WARNING No license specified, it is recommended to do so. For closed-source software you may use "proprietary" as license. Checking platform settings: OK Checking git settings: OK Checking http connectivity to packagist: OK Checking https connectivity to packagist: WARNING [Composer\Downloader\TransportException] The "https://packagist.org/packages.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol Failed to enable crypto failed to open stream: operation failed Checking HTTP proxy: FAIL [Composer\Downloader\TransportException] The "https://packagist.org/packages.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol Failed to enable crypto failed to open stream: operation failed Checking HTTP proxy support for request_fulluri: OK Checking HTTPS proxy support for request_fulluri: WARNING Unable to assess the situation, maybe github is down (The "https://api.github.com/repos/Seldaek/jsonlint/zipball/1.0.0" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol Failed to enable crypto failed to open stream: operation failed) Checking github.com rate limit: FAIL [Composer\Downloader\TransportException] The "https://api.github.com/rate_limit" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol Failed to enable crypto failed to open stream: operation failed Checking disk free space: OK |
Решение: /etc/profile добавить строки:
1 2 3 |
export https_proxy=http://proxy:3128/ export http_proxy=http://proxy:3128/ export ftp_proxy=ftp://proxy:3128/ |
Сломался composer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$ composer PHP Fatal error: Uncaught Error: Call to undefined function Composer\Json\json_decode() in /usr/share/php/Composer/Json/JsonFile.php:270 Stack trace: #0 /usr/share/php/Composer/Json/JsonFile.php(101): Composer\Json\JsonFile::parseJson('{\n "github-o...', '/home/vvs/.conf...') #1 /usr/share/php/Composer/Factory.php(199): Composer\Json\JsonFile->read() #2 /usr/share/php/Composer/Factory.php(420): Composer\Factory::createConfig(Object(Composer\IO\ConsoleIO)) #3 /usr/share/php/Composer/Console/Application.php(453): Composer\Factory::createGlobal(Object(Composer\IO\ConsoleIO), false) #4 /usr/share/php/Composer/Console/Application.php(149): Composer\Console\Application->getPluginCommands() #5 /usr/share/php/Symfony/Component/Console/Application.php(127): Composer\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #6 /usr/share/php/Composer/Console/Application.php(100): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Inp in /usr/share/php/Composer/Json/JsonFile.php on line 270 Fatal error: Uncaught Error: Call to undefined function Composer\Json\json_decode() in /usr/share/php/Composer/Json/JsonFile.php:270 Stack trace: #0 /usr/share/php/Composer/Json/JsonFile.php(101): Composer\Json\JsonFile::parseJson('{\n "github-o...', '/home/vvs/.conf...') #1 /usr/share/php/Composer/Factory.php(199): Composer\Json\JsonFile->read() #2 /usr/share/php/Composer/Factory.php(420): Composer\Factory::createConfig(Object(Composer\IO\ConsoleIO)) #3 /usr/share/php/Composer/Console/Application.php(453): Composer\Factory::createGlobal(Object(Composer\IO\ConsoleIO), false) #4 /usr/share/php/Composer/Console/Application.php(149): Composer\Console\Application->getPluginCommands() #5 /usr/share/php/Symfony/Component/Console/Application.php(127): Composer\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #6 /usr/share/php/Composer/Console/Application.php(100): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Inp in /usr/share/php/Composer/Json/JsonFile.php on line 270 |
PHP-CLI запускается несколько раз (дважды). Второй раз не считываются конфигурационные файлы из /etc/php.d.
Запускается дважды из-за того, что Composer обнаруживает подключенное расширение xdebug. Он копирует /etc/php.ini во временную папку /tmp и запускает себя повторно. Но повторно уже не считывает дополнительные конфигурационные файлы.
Как одно из решений не отключать xdebug. В этом случае composer хоть и работает медленней, но работает:
1 |
$ export COMPOSER_ALLOW_XDEBUG=1 && composer |