Архив рубрики: Из жизни

Сюда тащатся заметки из ЖЖшки

Ошибка при при публикации 1С на веб сервере

Если серверная ОС 64х битная, а 1С 32х битная, в IIS будет вылезать ошибка

Ошибка HTTP 500.0 — Internal Server Error

Решение: необходимо разрешить IIS запуск 32х битных приложений. Запускаем консоль inetmgr и ставим свойство «Разрешены 32-разрядные приложения» в true:

 

Странное поведение nic.ru

Вчера начиная с 19:20 рухнула почта на NIC.RU Единичным счастливчикам удалось установить, что если сумел зайти в админку и поменять пароль на почтовый ящик, то доступ к почте восстанавливается. До техподдержки было дозвониться не возможно. Ни в форуме ни на других ресурсах представители NIC.RU происходящее не комментировали.

На форуме другие абоненты писали:

Пользователи жалуются, что от их имени идёт спам рассылка.

Так-же сегодня, части пользователям пришли сообщения вида:

Уважаемый клиент!

Мы обнаружили подозрительные запросы к серверу, обслуживающему ваш почтовый аккаунт, и в целях повышения безопасности доступ к нему был приостановлен.

Для возобновления доступа вам нужно сменить пароль от почтовых ящиков в Панели управления хостингом и указать новый пароль в настройках вашей почтовой программы.

Инструкция по изменению пароля и настроек почтового ящика

При отсутствии проблем с доступом к почте никаких действий с паролем не требуется.

Примите наши извинения за доставленные неудобства.

Восстановили работу только около 12 дня сегодня.

Ну что я могу сказать? Судя посему у NIC.RU угнали базу паролей, а NIC.RU не нашли в себе смелости это признать.

Вызов скрипта на python из php с передачей произвольных данных

Редко,  но бывает необходимо из скрипта на PHP, вызвать на исполнение скрипт на python с передачей неких параметров и данных.

Мне например понадобилось потому что основной код у меня на PHP,  а вот часть которая отвечает за взаимодействие с онлайн кассой Атол — на python, и переписывать эту часть на PHP нет возможности (без большого гемороя) —  заголовки драйвера Атола под Linux есть только на python (dto9fptr.py и dto9base.py — поставляются в комплекте с драйвером).

Ниже приведен один из способов:

PHP:

<?php

$idkkm= _POST("idkkm");

$sql = "SELECT * FROM online_kkm where id='$idkkm'";
$result = $sqlcn->ExecuteSQL($sql) or die("Не могу выбрать список настроек!" . mysqli_error($sqlcn->idsqlconnection));
$param=array();
$param["mode"]="getinfo";
while ($row = mysqli_fetch_array($result)) {
    $param["ipaddress"] = $row['ipaddress'];
    $param["ipport"] = $row['ipport'];
    $param["model"] = $row['model'];
    $param["accesspass"] = $row['accesspass'];
    $param["userpass"] = $row['userpass'];
    $param["protocol"] = $row['protocol'];
    $param["logfilename"] = $row['logfilename'];
    $param["testmode"] = $row['testmode'];
    $param["libpath"] = $row['libpath'];
    $param["version"] = $row['version'];
    $ppath= $row['ppath'];
};
$jsonparam= base64_encode(json_encode($param));
$command = "/usr/bin/env python $ppath $jsonparam 2>&1";
$pid = popen( $command,"r");
while( !feof( $pid ) )
{
 echo fread($pid, 256);
 flush();
 ob_flush();
 usleep(100000);
}
pclose($pid);

?>

Python:

#!/usr/bin/env python2
#encoding: UTF-8
import sys, json,base64

prm=json.loads(base64.b64decode(sys.argv[1]))

print prm["ipaddress"]

Т.е. что мы сделали?

  1. В скрипте на PHP сформировали json строку с параметрами и закодировали её в base64
  2. Вызвали python скрипт с аргументом в кодированной строки
  3. Python скрипт соответственно обратно декодирует и обрабатывает json

Профит.

1С Розница 2.2 после обновления до 2.2.7.40 недостаточно прав

После обновления пользователи стали ловить такие ошибки:

 Исправляем:

Вариант 1

Вариант 2

Даем пользователю роль «Базовые права ИПП» (Интернет поддержки пользователей)

Цветовой вывод текста в консоли Linux

Любой текст выводимый в консоль можно раскрасить., заключая выводимое в ESC последовательности вида

\x1b[31m-что то пошло не так (с)..\x1b[0m\n

, где \x1b[ЦВЕТ;ФОНm — включение цвета, \x1b[0m — отключение, ХХ можно задавать согласно следующей таблицы:

атрибуты
0 нормальный режим
1 жирный
4 подчеркнутый
5 мигающий
7 инвертированные цвета
8 невидимый
цвет текста
30 черный
31 красный
32 зеленый
33 желтый
34 синий
35 пурпурный
36 голубой
37 белый
цвет фона
40 черный
41 красный
42 зеленый
43 желтый
44 синий
45 пурпурный
46 голубой
47 белый